2012-05-11 94 views
0

我正在嘗試創建多個表單實例。例如,我有一個form1和form2 並且form1中有一個ListView。創建多個表單實例

當點擊ListView中的項目時,它將創建一個form2的新實例。

Form2 listview1.FocusedItem.SubItems[0].Text = new Form2(); 
listview1.FocusedItem.SubItems[0].Text.Show(); 

但是C#不允許我這樣做,任何想法? (是的..我得到的錯誤:d)

好了,這個想法..讓說,我想有窗口2的3個實例,

Form2 f21 = new Form2();

Form2 f22 = new Form2();

Form2 f23 = new Form2();

現在我會有3個form2,但如果我不知道我可能創建多少個表單,該怎麼辦? (動態地創建listview中的項目的形式基地)

其實這可能不是正確的方式來做到這一點...任何解決方案是讚賞。

+6

我甚至不知道從哪一個開始這個...你想做什麼? – MilkyWayJoe

+4

'.Text'不是表單,它是一個字符串。 – LarsTech

+0

我認爲你的問題比你的代碼行更深,它是你對面向對象,屬性類型和實例的理解。您可以複製以下人員的粘貼建議,但如果您不理解,則無用。您可能需要先運行一些教程。 – Roast

回答

3

listview1.FocusedItem.SubItems[0].Textstring屬性,您不能分配System.Windows.Forms.Formstring

不是很清楚你要什麼在這裏實現,但是,可能這樣的

new Form2().Show(); 

關於該項目的點擊就足夠你。

如果這不是你要求的,請澄清。

編輯

要管理的形式任意數量,你可以這樣做:

//somewhere in the code a global collection 
var formsCollection = new List<Form>(); 

和點擊項目:

formsCollection.Add(new Form2()); 
formsCollection[formsCollection.Count-1].Show(); 

另外要mantion它那可能是你需要在集合中找到一些特定的表單(爲了這樣我的理由)。您可以爲Form2指定一些特殊屬性,這是一個唯一的標識符,以便在請求後能夠找到它。

+0

我編輯了我的問題。 :D,我知道我們不能分配System.Windows.Forms.Form字符串,但如果我希望表單是動態的? – user1046088

+0

嗨,這應該是我尋找的。也許我用錯誤的「關鍵詞」谷歌:無論如何,D,感謝和感謝您的幫助。祝你今天愉快。 – user1046088

+0

@ user1046088:不客氣。 – Tigran

3

我想通過不被允許這樣做意味着你正在得到某種錯誤。這是一個語法錯誤?這將是我的猜測。

另外,爲什麼你要爲每次新​​的點擊創建一個新的表單?我建議重新使用現有的對象或適當的銷燬/取消舊的對象。

我相信,有一個與線有問題

Form2 listview1.FocusedItem.SubItems[0].Text = new Form2(); 

您不能分配新的形式,以一個文本屬性,此外,在這種說法你都應該爲變量提供一個名字,不其他地方的參考。 您的意思是類似於:

Form2 f2 = new Form2(listview1.FocusedItem.SubItems[0].Text); 
f2.Show(); 
+0

感謝您的回答,我確實使用谷歌搜索,並找到一些類似於您的答案。但我需要將不同的數據發佈到每個表單以進行監控。 – user1046088