我遇到了相當惱人的問題。從發件人獲取動態NumericUpDown的值c#
我有這些全局變量(保持名稱等)
List<object> NumeriekVakken = new List<object>();
List<decimal> bedragenLijst = new List<decimal>();
List<string> namenlijstVanNumericFields = new List<string>();
List<string> namenLijst = new List<string>();
後來我有一個功能,使NumericUpDowns,取決於在DB的記錄數。 功能如下:
private void InitializeComponentControlArrayKnoppenTextboxenEnLabels()
{
foreach (DataRow dr in blCategorie.getAlleCategorieenMetLimieten())
{
double limiet = (double) dr.Field<double>("maximumBedrag");
NumericUpDown numeriekVak = new NumericUpDown();
numeriekVak.Name = "numeriekvak" + i;
numeriekVak.Width = 100;
numeriekVak.Maximum = 30000;
numeriekVak.Minimum = 0;
numeriekVak.Increment = 10;
numeriekVak.Value = Convert.ToDecimal(limiet);
numeriekVak.Location = new Point(250, beginhoogte + verhogenMet);
this.Controls.Add(numeriekVak);
NumeriekVakken.Add(numeriekVak);
bedragenLijst.Add(numeriekVak.Value);
namenlijstVanNumericFields.Add(numeriekVak.Name);
namenLijst.Add(categorie);
//to make unique names for my Numerics etc.
i++;
counter++;
//click event aanmaken
button.Click += new EventHandler(buttonWijzig_Click);
}
}
而在結束我要更新記錄每當的NumericUpDown由用戶改變(通過點擊的NumericUpDown或改變號碼)
private void buttonWijzig_Click(object sender, EventArgs e)
{
Button knop = (Button)sender;
NumericUpDown numeriekvak = (NumericUpDown)sender;
for (int i = 0; i < counter; i++)
{
if (knop.Name == "knop" + i)
{
int id = i, maximumBedrag = 0;
if (namenlijstVanNumericFields[i] == "numeriekvak" + i)
{
// update limit
DBManager.LimietRow limiet = new DBManager.LimietDataTable().NewLimietRow();
maximumBedrag = Convert.ToInt32(numeriekvak.Value);
blLimiet.updateLimiet(id, maximumBedrag);
}
labelBevestigingLimiet.Text = "Limiet " + namenLijst[i].ToString() + " is succesvol gewijzigd naar " + maximumBedrag + "€";
//stopping of loop if right button is found.
break;
}
}
}
但evertime我運行此我得到了同樣的問題.. 「不能從類型System.Windows.Forms.Button將對象轉換爲 型System.Windows.Forms.NumericUpDown」
如何ç我解決這個問題,並根據NumericUpDown中填入的新號碼更新記錄?我無法得到這個工作,我有一種感覺,它與發件人那不工作良好..
感謝您的所有幫助! Yenthe
Woha這就是我想要的95%+!但是我怎麼能只觸發這個按鈕時點擊?事情是我想它更新時,正確的按鈕被點擊,但不是NumericUpDown。這將節省大量的更新(這是我的想法沒有嵌入?) 謝謝你已經史蒂夫!:) – Yenthe 2013-05-05 19:27:02
所以你有一個按鈕命名(例如)保存,你想在按下此按鈕時更新所有NumericUpDown的限制? – Steve 2013-05-05 20:06:54
事實上,我有八個按鈕和八個numericUpDowns,具有所有不同的值。 我希望它只更新與點擊按鈕匹配的相應NumericUpDown! – Yenthe 2013-05-06 09:43:18