[英]How do I calculate selected item from list-box with text-box value to output it in textbox through button
列表框的每個值有 2 個值一個字符串披薩的名稱另一個是 int 用戶將選擇披薩的價格並通過文本框輸入金額並按計算按鈕
我試過這個: -
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text* listBox1.SelectedItem();
}
為了執行乘法 ( ),您需要在左右兩邊都有一個數值。 ( ) function 是純返回類型,因此您還需要將其分配給某些東西。
編輯:我意識到您使用的是 ListBox 為時已晚。 只需記住將所選項目值轉換為小數(或解析它)
所以,幾步。 1:獲取textBox1中的數值:
int quantity;
if(!int.TryParse(textBox1.Text, out quantity)){
MessageBox.Show("Only numbers are allowed in Quantity", "Error");
}
這里發生了兩件事。 我們正在嘗試將字符串解析為 integer。 並非所有字符串都可以解析(即“One”),有些可以(即“1”)。 如果無法解析文本,那么我們要警告用戶。 我們在 int.TryParse 上還有一個“out”參數。 如果解析成功,則將數量的值設置為 int 值。 我們用一塊石頭殺死兩只鳥。
2:獲取所選商品的價格。 您可以巧妙地使用組合框,因為項目是“對象”,表單上的文本來自對象“ToString()”function。 您可以在 object 中存儲任何內容,但您需要進行轉換才能理解它。 現在,假設您有一個“產品”class?:
public class Product{
private string _name;
public decimal Price {get;}
public Product(string name, decimal price){
_name = name;
Price = price;
}
public override string ToString(){
return _name;
}
}
我們現在可以用一些項目填充 combobox:
comboBox1.Items.Add(new Product("Pizza", 5.99));
comboBox1.Items.Add(new Product("Burger", 2.99));
現在我們可以使用強制轉換從 comboBox 中獲取 class:
var selectedProduct = (Product) comboBox1.SelectItem;
然后你可以做你的乘法:
var total = quantity * selectedProduct.Price;
希望對你有幫助^_^
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.