如何实现模式对话框格式的非模式对话框? 想实现一个非模式对话框,操作是位于主窗口,对话框只是为了显示进度,关键是要使主窗口不可选中,不可操作。不用多线程可以实现么?如果建议把操作移到对话框就免了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 或者你可以限制在非模式对话框出现后只要选中主界面,就禁止操作,并提ACTIVE非模式对话框 你看这样行不,在对话框出来时,将主窗口的Enabled设置为false,当对话框关闭时,将主窗口的Enabled设置为truepublic Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { // Show对话框 Form2 f = new Form2(); f.Show(); f.FormClosed += new FormClosedEventHandler(f_FormClosed); this.Enabled = false; } void f_FormClosed(object sender, FormClosedEventArgs e) { this.Enabled = true; } 这个方法用过,不能控制窗口的上下位置,而且一些控件在Disable以后会很奇怪,比如Treeview会无法显示任何元素 遇到相同情况的了,我也在做类似的功能,以前在Delphi中有个DisableTaskWindows(),然后再EnableTaskWindows就行了,不知这两个函数在C#中有没有等效函数,录找中... 关于算法在页面中的实现 在DataTable中添加了一列,然后如何排序 Access 创建存储过程的问题? C# 绑定数据库控件后的相应问题 重载WndProc问题,好想很难 简单问题:如何注册.NET组件 C/C++ Keywords 关于.net WINFORM的又一问~~大家狂入 又一个FolderBrowserDialog的问题。。 c#如何读写INI,在线等..... C#可以动态创建二维数组吗,在线等 急 连接数据库的问题
在非模式对话框出现后
只要选中主界面,就禁止操作,并提ACTIVE非模式对话框
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
// Show对话框
Form2 f = new Form2();
f.Show();
f.FormClosed += new FormClosedEventHandler(f_FormClosed);
this.Enabled = false;
} void f_FormClosed(object sender, FormClosedEventArgs e)
{
this.Enabled = true;
}
这个方法用过,不能控制窗口的上下位置,而且一些控件在Disable以后会很奇怪,比如Treeview会无法显示任何元素