2017-02-02 21 views
0

また、テキストボックスから値を差し引くこともできます。 ここに私のコードです。C#リストボックスから項目を削除すると、リストボックスに項目を削除した後にテキストボックスから値を控除します

private void listBox1_DoubleClick(object sender, EventArgs e) 
    { 
     int total1 = Convert.ToInt32(txtTotal.Text); 


     if (listBox1.Text =="item1 600") 
     { 

      listBox1.Items.RemoveAt(listBox1.SelectedIndex); 
      total1 -= 600; 
     } 
    } 

ありがとうございます!

+1

あなたの実際の問題は何ですか? – NicoRiff

+3

'txtTotal.Text = total1.ToString();' – JohanP

+0

umm、私はリストボックス上の項目を削除したいだけで、テキストボックスから値を差し引いてしまいます。 – sakusa1

答えて

0

これは動作するはずです、それは、全テキストボックスから600を削除します:

private void listBox1_DoubleClick(object sender, EventArgs e) 
    { 
     int total1 = int.Parse(txtTotal.Text); 

     if (listBox1.SelectedValue.ToString() == "item1 600") 
     { 

      listBox1.Items.RemoveAt(listBox1.SelectedIndex); 
      total1 -= 600; 

      txtTotal.Text = total1 + ""; 
     } 
    } 
+0

私はlistbox1.selectedvalue.tostring()のコードからエラーが出ましたが、私はlistBox1.Textに変更しました。今は大丈夫です。ありがとうございます! – sakusa1

+0

問題ありません。あなたはおそらくそれに答えてマークする必要があります:) – CNuts

0

おそらく、2つの情報を保持するオブジェクトを作成すると思います。オブジェクトでは、Item1のみを表示し、表示されていないプロパティから600を取得するために、.ToString()メソッドをオーバーライドできます。以下のような

何か:

public class MyItem 
{ 
    public string Text {get; set;} 
    public string Amount {get; set;} 

    public override string ToString() 
    { 
     return Text; 
    } 
} 

その後、新しいオブジェクトをインスタンス化し、名前と金額のプロパティを設定し、あなたのリストボックスに追加することができます。

アイテムを取り除こうとしているときに、オブジェクトから金額を取得し、合計から減算することができます。これにより、リスト内のすべての項目に対してIf文を作成する必要がなくなります。どの

関連する問題