【问题标题】:Update second column listView from TextBox changed - c#从 TextBox 更新第二列 listView 已更改 - c#
【发布时间】:2013-02-24 04:12:24
【问题描述】:

使用此代码,我可以填充我的列表视图:

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);
    }
}

这是结果:

如何从文本框更改事件中仅更新第二列(总价)? (Windows 窗体,Visual Studio 2012)

【问题讨论】:

    标签: c# winforms listview textbox


    【解决方案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;
            }
        }
    

    【讨论】:

      猜你喜欢
      • 2021-10-22
      • 1970-01-01
      • 2012-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-18
      相关资源
      最近更新 更多