2013-04-02 57 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

哦,很酷,謝謝 –