簡體   English   中英

嘗試采用和使用分配給組合框中的字符串的值

[英]Trying to take and use a value assigned to a string in a combobox

我已經為組合框中的字符串分配了值,但是似乎無法獲取變量來獲取所選值。

例:

this.selectquest.Items.AddRange(new Level[] {
  new Level() {Name = "Level 41", Value = 1476088},
  new Level() {Name = "Level 52", Value = 6000000},
  new Level() {Name = "Level 53", Value = 7000000}});

我想取值(基於組合框選擇)並將其設置為變量:

int Value = ptexp;

然后我想像這樣做數學:

int ttlvl = ptexp / tlvl;

但是,當我這樣做時,它只會給我數字0。如果執行相反的操作,則會出現錯誤,表明它試圖除以0。

附加信息:

這是有效的:

private void calculate_Click(object sender, EventArgs e)
{
    op = "X";
    clvl = int.Parse(currentlevel.Text);
    currentlevel.Text = "";

    cexp = int.Parse(currentexp.Text);
    currentexp.Text = "";

    mexp = int.Parse(mobsexp.Text);
    mobsexp.Text = "";

    if (op == "X") 
        tlvl = clvl - cexp;
    int ttlvl = tlvl / ptexp;
    turnstolvl.Text = ttlvl.ToString();

}

private void selectquest_SelectedIndexChanged(object sender, EventArgs e)
{
    selectquest.DisplayMember = "Name";
    var v = selectquest.SelectedItem as Level;
    int Value = (selectquest.SelectedItem as Level).Value;
    ptexp = Value;
}

投射組合框的選定值即可:

var selectedValue = (Level)selectquest.SelectedItem;
int value = selectedValue.Value;

您可以在此事件上執行此操作:comboBox1_SelectedIndexChanged

更新:

如果希望值等於選擇值,請在以下情況下執行此操作:

int value = (selectquest.SelectedItem as Level).Value; 
ptexp = value;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM