2013-04-02 28 views
0

我需要给一个窗体的不同实例一个唯一的ID号。对于这个项目,我可以一次打开5个窗体实例,窗体必须能够关闭并重新启动才能保留唯一的编号。C#如何给单独的ID独立ID

任何想法?

+3

请举例 – Freelancer

+0

你想要做什么与保留唯一的数字?你想保存给定实例的数据或结构?通过使用唯一索引在db/memory中保存并取回它 –

+0

我认为他希望拥有它,所以窗体几乎是一个单独的程序,所以无论何时关闭并打开它,它都会保留这个ID?这可以在app.config中实现吗? –

回答

1

会对子类进行分类,并在其上进行序列工作?像

public class YourMainForm : Form 
{ 
    protected int SomeUniqueID; 
    ... rest of all code for the original class 
} 

public class FormInstance1 : YourMainForm 
{ 
    public FormInstance1() : base() 
    { SomeUniqueID = 1;} 
} 

public class FormInstance2 : YourMainForm 
{ 
    public FormInstance1() : base() 
    { SomeUniqueID = 2;} 
} 

public class FormInstance3 : YourMainForm 
{ 
    public FormInstance1() : base() 
    { SomeUniqueID = 3;} 
} 
+0

这会保留吗?我的意思是,如果你想要3个实例,它们只会按照运行的形式进行分配,而不是该程序的常量ID。 –

+0

@RhysDrury,因为它是基类的属性,并且每个子类实例(通过其构造函数)分别强制值为1,2和3,所以当您创建“FormInstance2”的实例时,它将始终启动与“SomeUniqueID”值= 2 ...除非您决定改变它在班级中的其他地方。 – DRapp

+0

哦,很酷,谢谢 –