【C#】窗体透明度、ListBox的增删改查

来源:互联网 发布:淘宝卖眼药水 编辑:程序博客网 时间:2024/06/11 06:09

这两个都是C#窗体的基础内容,下面用一个简单的例子说明这个问题,注意ListBox不是ListView就好。

如下图:


有两个按钮可以调节窗体的透明度,而在上方,如果ListBox的项被选中,则会呈现在文本框之中,可供修改,没有选中ListBox的项,或者选中之后,点击ListBox的空白处,则是为ListBox添加项的状态,同时可以删除相应的项。并且无论是在添加还是在删除状态,都是要求ListBox中项不能相等。

ListBox的具体布局如下图:


请自行利用对其工具排放好。同时为ListBox1添加一个listBox1_MouseClick事件,用于点击ListBox1的空白之处清空选择。因为这个组件如果你选择一项话,你不自己写一个事件,它会永远选中这一项,除非你选择别的项。换句话说,自从你选中其中一项之后,它会永远选中一项。

Form1的代码如下:

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace DataGridView{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();            this.StartPosition = FormStartPosition.CenterScreen;//设置Form窗体初始化放在屏幕中间            }        //选中一项话,自动改变按钮1的文本,同时将选中的项放到textBox1        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)        {            if (listBox1.SelectedItems.Count > 0)            {                textBox1.Text = listBox1.SelectedItems[0] + "";                button1.Text = "修改";            }        }        //点击ListBox1的空白之处清空选择        private void listBox1_MouseClick(object sender, MouseEventArgs e)        {            if (listBox1.IndexFromPoint(e.X, e.Y) == -1)            {                listBox1.ClearSelected();                button1.Text = "添加";            }        }        //添加与修改按钮        private void button1_Click(object sender, EventArgs e)        {            if (textBox1.Text.Length > 0)            {                if (textBox1.Text.Length < 9)//只接受文本长度在0-9之间的输入                {                    Boolean isExisted = false;//遍历ListBox,查找是否有与当前输入相同的项                    for (int i = 0; i < listBox1.Items.Count; i++)                    {                        if ((textBox1.Text.ToString()).Equals(listBox1.Items[i].ToString()))                        {                            isExisted = true;                            break;                        }                    }                    if (!isExisted)//如果没有                    {                        if (button1.Text == "添加")                        {                            listBox1.Items.Add(textBox1.Text);//为ListBox添加一项                            textBox1.Text = "";                        }                        else                        {                            listBox1.Items[listBox1.SelectedIndex] = textBox1.Text;//修改ListBox选中的项                            textBox1.Text = "";                            listBox1.ClearSelected();                            button1.Text = "添加";                        }//注意添加与修改之后,皆要初始化                    }                    else                    {                        MessageBox.Show("已存在相应的项,无法添加!", this.Text);                    }                }                else                {                    MessageBox.Show("不得大于等于9个字!", this.Text);                }            }            else            {                MessageBox.Show("不能为空!", this.Text);            }        }        //删除ListBox的选中项        private void button2_Click(object sender, EventArgs e)        {            if (listBox1.SelectedItems.Count > 0)//删除之前记得判断是否有选中项            {                listBox1.Items.Remove(listBox1.SelectedItems[0]);                listBox1.ClearSelected();                textBox1.Text = "";                button1.Text = "添加";            }        }        //窗体透明度的调整        private void button3_Click(object sender, EventArgs e)        {            if (this.Opacity > 0.2)//防止用户调成0,再也看不到窗体了            {                this.Opacity -= 0.1;                label1.Text = "透明度:" + this.Opacity * 100 + "%";//将透明度换成百分比            }        }        private void button4_Click(object sender, EventArgs e)        {            if (this.Opacity < 1)            {                this.Opacity += 0.1;                label1.Text = "透明度:" + this.Opacity * 100 + "%";            }        }    }}


0 0
原创粉丝点击