列表变量在C#中更改时的Fire事件

时间:2015-07-13 15:21:22

标签: c# listview event-handling treeview

我一直在研究和研究解决这个问题的方法,我找到了一个看似多余的工作解决方案,因为我在整个工具中都有重复的功能。有没有办法让这个简单的例子触发一个事件,每次更改变量时都会更新我的UI?在这种情况下,如果用户点击“添加”或“清除”,我希望它更新UI,因为它更改了变量。

enter image description here

namespace exampleList
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        public List<string> files = new List<string>();

        public void SetCounter()
        {
            uiCounter.Text = files.Count().ToString(); 
        }

        public void SetUI()
        {
            listBox1.Items.Clear();
            treeView1.Nodes.Clear();

            foreach (string f in files)
            {
                listBox1.Items.Add(f);
                TreeNode tn = new TreeNode(f);
                treeView1.Nodes.Add(tn);
            }
        }

        private void uiAdd_Click(object sender, EventArgs e)
        {
            files.Add(DateTime.Now.TimeOfDay.ToString());

            SetCounter();
            SetUI();
        }

        private void uiClear_Click(object sender, EventArgs e)
        {
            files.Clear();
            SetUI();
        }
    }
}

0 个答案:

没有答案