2013-03-08 46 views
1

有了這個代碼,我可以填充我的ListView:更新第二列的ListView改變 - C#

foreach (string elements in Properties.Settings.Default.Items) 
{ 
    ListViewItem lvi = new ListViewItem(); 

    var txt = elements; 

    if (!listView1.Items.ContainsKey(txt)) 
    { 
     lvi.Text = txt; 


     lvi.Name = txt; 

     lvi.SubItems.Add(""); 
     lvi.SubItems.Add("1.0"); 

     listView1.Items.Add(lvi); 
    } 
} 

這是結果:

enter image description here

如何更新僅第二列(共價格)從文本框更改事件? (Windows窗體時,Visual Studio 2012)

回答

1

某些屬性

 listView1.HideSelection = false; 
     listView1.MultiSelect = false; 
     listView1.FullRowSelect = true; 
     listView1.View = View.Details; 

我覺得這是你在問什麼:

private void textBox1_TextChanged(object sender, EventArgs e) 
    { 
     TextBox txt_sender = (TextBox)sender; 

     if (listView1.SelectedItems.Count > 0) 
     { 
      listView1.SelectedItems[0].SubItems[1].Text = txt_sender.Text; 
     } 
    } 

我還建議:(只允許數字和一個。 )

private void textBox1_KeyPress(object sender, KeyPressEventArgs e) 
    { 
     TextBox txt_sender = (TextBox)sender; 

     if (!char.IsControl(e.KeyChar) && 
      !char.IsDigit(e.KeyChar) && 
      !((e.KeyChar == '.') && !(txt_sender).Text.Contains('.'))) 
     { 
      e.Handled = true; 
     } 
    }