C#winform如何实现状态栏

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#winform如何实现状态栏相关的知识,希望对你有一定的参考价值。

我想实现一些功能但不知道用什么工具才好,请大家帮帮忙吧
我想在父窗体上创建一个状态栏,同时如果我打开多个子窗体,他们都会在状态栏上显示,跟我们操作系统的底下状态栏中间那部分的效果一样,点击哪个子窗体的名字,它就为当前窗体了,而且还可以把它关闭
请问您像这样的问题是怎么来实现的呢?

statusStrip1.Items.Add(你打开窗体的那个控件);
关闭要在状态栏的鼠标事件中处理 当点击右键时(当然具体是什么键随你)让"上下文菜单"即contextmenustrip在鼠标位置出现 就可以关闭了
参考技术A StatusStrip就是状态栏控件。

C# WinForm如何初始化的时候就自动最小化到右下角的状态栏内。

public MainFrm()


InitializeComponent();
Thread th = new Thread(delegate()

try

this.Invoke(new MethodInvoker(delegate()

this.FormBorderStyle = FormBorderStyle.None;
notifyIcon1.Visible = true;
this.Hide();
this.FormBorderStyle = FormBorderStyle.Sizable;
));

catch

try

this.Invoke(new MethodInvoker(delegate()

this.FormBorderStyle = FormBorderStyle.None;
notifyIcon1.Visible = true;
this.Hide();
this.FormBorderStyle = FormBorderStyle.Sizable;
));

catch



);
th.Start();




试试这个 try 和Catch 你可以适当的去掉 其实就是为了怕有时候窗口句柄创建过慢
参考技术A NotifyIcon 通知栏图标 = new NotifyIcon();
void 通知栏图标_MouseClick(object sender, MouseEventArgs e)

this.ShowInTaskbar = true; this.Show();

private void 记事历_Deactivate(object sender, EventArgs e)

if (this.WindowState == FormWindowState.Minimized) this.ShowInTaskbar = false;

private void 记事历_SizeChanged(object sender, EventArgs e)

if (this.WindowState == FormWindowState.Minimized) this.ShowInTaskbar = false;
追问

??????????????

追答

private void 记事历_Load(object sender, EventArgs e)

this.Icon = 通知栏图标.Icon = 资源文件.中国国旗;
通知栏图标.MouseClick += 通知栏图标_MouseClick;
通知栏图标.Text = this.Text;
通知栏图标.Visible = true;
this.ShowInTaskbar = false;
this.Hide();

private void 记事历_FormClosing(object sender, FormClosingEventArgs e)

通知栏图标.Visible = false; 通知栏图标.Dispose();

以上补充.
什么意思?

追问

要不您直接教我怎么在我的代码上面改就好了。

直接教我如何一打开程序之后自动就最小化到托盘上。

追答

以上不是代码全给你了?照着各事件将代码复制即可.

追问

不懂

追答

哪里不懂?

要我修改起码你的代码出来才能改!

追问


加了仍然不起作用。

追答

要不然你就新建一个窗体,依照那些事件把代码复制运行看,有问题再问

你发图片怎么给你改代码?!!!!!!!!!!1

追问

不用了,我解决了。showintaskbar=false 加这个就解决啦~

追答

上面不是写着了没认真看?

参考技术B 右下角,那叫托盘 会使用到 notifyIcon追问

要不您直接教我怎么在我的代码上面改就好了。

以上是关于C#winform如何实现状态栏的主要内容,如果未能解决你的问题,请参考以下文章

winform程序如何实现任务栏通知窗口

C#winform如何把其他正在运行的程序(比如QQ,暴风影音等)不显示在任务栏,显示在托盘中

C#WInform 如何让菜单栏中只能有一个菜单项被选中,其他的不选中,当选择中其他的时,选中的为选中状态!

winform程序如何实现打包后注册才能使用

C# WinForm自定义进度条

c#winform中,DataGridView的选择列(DataGridViewCheckBoxColumn)中,如何实现条件选中?