关于c# winform 编程的,怎么弄提示类似“加载中”的小窗口

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于c# winform 编程的,怎么弄提示类似“加载中”的小窗口相关的知识,希望对你有一定的参考价值。

关于c# winform 编程的:有一段语句执行完需要时间,我想弄一个和MessageBox.Show差不多的小窗口,但是不能按掉的,目的就不让用户在该语句执行完前进行操作,
同时完成该语句后小窗口消失。。。。用什么好,求教
找不到类似的程序,大概就是这样

public partial class Form1 : Form

private Form _childForm; //确保只显示一个(对话框)窗体
public Form1()

InitializeComponent();

protected override void OnActivated(EventArgs e)

//当本窗体被激活时,子窗体存在,就激活子窗体(仿模式窗体)
if (_childForm != null)

_childForm.Invoke(new Action(_childForm.Activate));//激活

base.OnActivated(e);

private void button1_Click(object sender, EventArgs e)

if (_childForm != null) //防止重复显示(防止意外的意外,可以省略)
return;

this.Enabled = false;//禁用窗体,防止意外

_childForm = new Form2();
//Form2 是需要显示的对话框,可以在上面写你提示的文字信息等
//去除标题栏(防止改大小关闭等等)
_childForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
//不在任务栏显示
_childForm.ShowInTaskbar = false;
//初始位置在显示器中央
_childForm.StartPosition = FormStartPosition.CenterScreen;
//以上3项均可以在窗体属性中直接设置
//绑定关闭事件
_childForm.FormClosed += new FormClosedEventHandler(ChildFormOnFormClosed);
_childForm.Show();//弹出

//这里做你需要做的操作

_childForm.Close();//关闭

private void ChildFormOnFormClosed(object sender, FormClosedEventArgs e)

this.Enabled = true;//仿对话框关闭时,重启用窗体
_childForm.FormClosed -= ChildFormOnFormClosed;//解除绑定,可以省略
_childForm = null;//确保下次能再次弹出窗体


还有些小漏洞,再说吧
参考技术A 创建一个新的Form设个半透明 具体自己美化 然后用主页面showdialog() 这个新建的FORM
主页面执行任务用线程去执行 线程任务结束时 关闭这个子页面
这个思路差不多能满足你的要求吧
参考技术B 你就在执行过程中,直接在当前窗体显示一个“执行中……”,然后把enable设成false,执行完再改成true

showdialog()自动关闭会有问题吧
参考技术C 第一个想到的是panel,用showdialog(),因为panel可以很好的设计外观,让页面更和谐,当然也有其他的方法 参考技术D 用组件和窗体都可以实现。

顺便完成任务。

c#的图像平移和旋转

我想问一下,c#的图像平移和旋转应该怎么做?要求不能使用类似于RotateTransform()的方法

参考技术A 你用的是什么 WinForm 还是 WPF

WPF 就非常的好弄!追问

我用的是WinForm,那用WinForm应该怎么做呢?求解

以上是关于关于c# winform 编程的,怎么弄提示类似“加载中”的小窗口的主要内容,如果未能解决你的问题,请参考以下文章

C#winform怎么弄出类似于excel的表格?简单点的就好

c# Winform 打印问题,请教高手

c#的图像平移和旋转

C# winform 请问怎么把自己写出来的东西弄成一个安装文件或者免安装的exe

我用C#进行winform编程,关于progressBar的用法

winform 输入搜索提示框的实现