我在程序里面调用的是sys.dll文件,我在MDI窗体按钮里面有这些行代码:
sys.SForm MSForm=new SForm()
MSForm.show();
现在的问题是我点了一下这个按钮,运行一个实例,可我再运行一下时又运行一个实例,如果用变量控制,可我这个是调用的dll文件,当MSForm关闭时又不知道如何回传一个参数给主MDI窗体了,我是想这个窗体只运行一次。请问该怎么解决。
另外我的子窗体如果是最大化时,子窗体的标题就靠到主窗体的标题栏上了,并且子窗体的图标也到主窗体的标题栏上了,这个怎么办啊
sys.SForm MSForm=new SForm()
MSForm.show();
现在的问题是我点了一下这个按钮,运行一个实例,可我再运行一下时又运行一个实例,如果用变量控制,可我这个是调用的dll文件,当MSForm关闭时又不知道如何回传一个参数给主MDI窗体了,我是想这个窗体只运行一次。请问该怎么解决。
另外我的子窗体如果是最大化时,子窗体的标题就靠到主窗体的标题栏上了,并且子窗体的图标也到主窗体的标题栏上了,这个怎么办啊
解决方案 »
- webclient 的 DownloadDataAsync异常捕获问题 请大家帮忙看看 先感谢
- C# excel,,怎么打开已有的sheet,并操作
- 在javascript中 调用 点击函数?
- C#调用dll的问题
- C#中 使用WebBroser 怎样提取网页中的选中部分的HTML内容.
- 谁有C#方面的英语文档,毕业设计用.
- .net网站后台
- 怎样实现datagrid和其页眉中的dropdownlist联动?
- 在datagirdview中怎么获取空白行的行号信息????
- 问 :未将对象引用设置到对象的实例。是怎么回事
- 在IE中直接输入路径可以播放,嵌入网页播放不了,路径完全正确,流媒体问题.
- 如何在webform中在指定的背景上画图?
MSForm.show();
------------------------
你每次调用都声明新对象,当然会出现另一个,你只声明一次就好了。比如你在sys.dll中这样:
public static SForm MSForm;在构造函数中MSForm=new SForm();在MDI窗体按钮里面有这些行代码:sys.MSForm.show();
private SForm MSForm = null;在按钮click里面:
if (MSForm == null) then
{
MSForm=new SForm();
}
MSForm.show();
在MSForm的Close事件里面:
this.MdiParent.MSForm = null;或者你在Closing事件里面,不让用户Close这个窗体,只是Hide掉它:
e.Cancel = true;
this.Hide();
然后
if(MSForm == null)
{
sys.SForm MSForm=new SForm();
}
MSForm.show();
http://www.syncfusion.com/FAQ/WindowsForms/FAQ_c4c.aspx#q521q
frmChild.BringToFront();