如题
解决方案 »
- CheckedComboBoxEdit怎么显示多列
- monorail和nhibernate的高手请进
- lanMsg的程序设计原理,不明白呀
- foreach
- 请问高手HTML控件File Field怎么使用啊>???急!!!!
- 100分求:五年开发经验+一个系分证在上海能拿多少,跟有分
- c# 如何在XML文件中生成空元素的问题
- 在Windows XP 中Interaction.Triggers无效的问题
- C# 如何鼠标点击工具栏图标,出现类似360卫士窗口的切换模式,点击一个工具栏按钮,在同一个窗口下半部分显示相应的的内容.
- 如何将rgb的bmp图像转化为灰度图像
- 关于 .Net Remoting 中的一异常:Trying to create a proxy to an unbound type.
- 关于翻页和排序结合的常见细节问题
private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
fengforever(风)的方法也不行,如果我有100个窗体那一个一个写太麻烦了
----------------------------这样问题就简单了:写一个基类——
public class BaseForm : System.Windows.Forms.Form
{
public static ArrayList list = new ArrayList(); public BaseForm()
{
this.Load += new EventHandler(BaseForm _Load);
this.Closed += new EventHandler(BaseForm_Closed);
} private void BaseForm_Load(object sender, System.EventArgs e)
{
if(!BaseForm.list.Contains(this))
BaseForm.list.Add(this);
} private void BaseForm_Closed(object sender, System.EventArgs e)
{
BaseForm.list.Remove(this);
}}让所有 Form 都继承自 BaseForm调用 BaseForm.list 就可以获取所有打开窗体的实例了
MainForm.OwnedForms()就是已打开的实例窗体,但在打开窗体前先判断MainForm.OwnedForms()集合中是否已存在目标窗体,存在就可对此窗体进行操作,否则MainForm.AddOwnedForm(目标窗体)