我不確定這是否是您需要的。我希望它是:)。我正在學習C#+ winforms,所以我把你的問題當作練習。
我已經創建了兩個簡單的形式(所有控件默認命名)
第一種形式的代碼:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 newForm = new Form2(this);
newForm.Show();
}
public void UpdateCombo(List<String> newName)
{
comboBox1.Items.Clear();
foreach (string fname in newName)
{
comboBox1.Items.Add(fname);
}
comboBox1.SelectedIndex = 0;
}
}
第二種形式代碼:
public partial class Form2 : Form
{
List<String> newName;
Form1 parent;
public Form2(Form1 parentIn)
{
parent = parentIn;
InitializeComponent();
}
void UpdateList()
{
newName = new List<String>();
for (int i = 1; i <= numericUpDown1.Value; i++)
{
if (i == 1)
newName.Add("1 duck");
else
newName.Add(i.ToString() + " ducks");
}
}
private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
UpdateList();
parent.UpdateCombo(newName);
}
}
我希望代碼是自我解釋的,如果不是隨意問的話。如果有人比我更有經驗會檢查和批准,那也會更好。
爲什麼你在foreach循環中使用newname [x]?不應該只是form1.comboBox1.Items.Add(fname);? – Grizzly 2011-06-13 22:38:34
發佈更多程序代碼。具體來說,Show/ShowDialog。我懷疑當你改變爲AddOwnedForm時,它不再是一個對話框。 – 2011-06-13 22:38:36
對不起,它被origionaly設置爲form1.comboBox1.Items.Add(fname);只是在玩它,並試圖在陽光下的一切。 – user770344 2011-06-13 23:24:57