我在C#中有一個軟件,它有一個主窗體(意思是當你像幾乎每個軟件一樣啓動一個軟件時打開的窗體)。但是,主窗體將打開一個名爲ProjectFiles
的窗體。我想知道是否可以從主窗體中將文件添加到ProjectFiles
中的listView
。我曾嘗試在互聯網上搜索如何做到這一點,但每個人都一直在問如何以不同的方式做到這一點。我也試過沒有幫助,所以這裏是我的代碼,但問題是當我使用這段代碼時,軟件將停止響應。如何使用C#將主文件添加到列表視圖?
主要形式:
public string[] lines { get; set; }
void projectFilesToolStripMenuItem1_Click(object sender, EventArgs e)
{
if (this.parentForm == null)
{
return;
}
if(opfd.ShowDialog()==DialogResult.OK)
{
string[]lines = File.ReadAllLines(opfd.FileName);
}
}
ProjectFiles:
void label1_Click(object sender, EventArgs e)
{
MainForm mf = new MainForm();
{
string[] lines = File.ReadAllLines(mf.lines.ToString());
foreach (string line in lines)
{
listView1.Items.Add(line);
}
}
}
任何幫助不勝感激。謝謝!
編輯: 我被要求更準確地發佈錯誤信息。就像我上面所說的那樣,軟件變灰了,一個消息框顯示它已經停止響應。如果這不夠清楚,請告訴我。
編輯:我已經嘗試了下面的asnwers,但軟件仍然繼續這樣做。這似乎太軟件處理。
只需在第二個窗體上創建一個允許傳遞文件或其他內容的方法,那麼該窗體就可以修改自己的控件。否則,「它崩潰」是一個可怕的問題描述。 – Plutonix
您在項目文件中生成一個新的mainform。記住當你創建一個新對象時,它是一個全新的對象實例,它通過創建一個新的MainForm()然後訪問新的對象,它在你尋找事物的位置是空白的,因此它崩潰的原因。我的猜測是你得到某種空錯誤。如果這是不正確的,至少發佈錯誤,所以我們可以嘗試和協助。 – Nikerym
親愛的蘭登,你想從主窗體添加列表項,或者你只是試圖顯示ProjectFiles窗體並填充其中的列表視圖?你的問題真的很混亂。 –