Windows窗体
  1. 属性:

    1. name:对象的名称
    2. windowsState:初始化窗体的大小,Normal,Minimized,Maximized
    3. StartPosition:窗体起始位置,Manual(由Location属性决定),CenterScreen(居中显示),WindowsDefaultLocation(Windows默认位置),WindowsDefaultBounds(Windows默认位置,边界由Windows决定),CenterParent(在父窗口居中)
    4. Text: 窗体的标题,给用户看
    5. MaximizeBox,MinimizeBox: 是否有最大化最小化的按钮
    6. BackColor:背景颜色
    7. BackgroundImage: 背景图片
    8. BackgroundImageLayout: 背景图片的布局, None(居左显示)、Tile(图像重复,默认值)、Stretch(拉伸)、Center(居中)、Zoom(按比例放大到合适大小)
    9. Enabled:窗体是否可用
    10. Font: 设置窗体上字体
    11. ForeColor:设置窗体上文字颜色
    12. Icon:设置窗体图标
  2. 事件

    1. load:窗体加载事件
    2. mouseClick:鼠标单击事件
    3. mouseDoubleClick:鼠标双击事件
    4. mouseMove:鼠标移动事件
    5. keyDown:键盘按下事件
    6. keyUp:键盘释放事件
    7. FormClosing:窗体关闭时事件
    8. FormClosed:窗体关闭后事件
  3. 消息框(DialogResult MessageBox.Show(提示语,窗体名,选择项按钮MessageBoxButtons ,提示语图标MessageBoxIcon)

    1. 选项按钮:OK,OKCancel,AbortRetryIgnore(中止,重试,忽略),YesNoCancel,YesNo,RetryCancel(重试,取消)
      2.提示语图标:None,(Hand,Stop,Error)红x,Question问号,(Exclamation,Warning)警告,(Asterisk,Information)提示
      3.返回值:None,Ok,Cancel,Abort(中止),Retry(重试),Ignore(忽略),Yes,No
  4. Label和LinkLabel:标签控件

    • Name: 标签名,唯一标识
    • Text:内容
    • Font:文字样式
    • FontColor:文本颜色
    • BackColor:背景颜色
    • Image:背景图片
    • AutoSize:是否自动调整标签大小 true,false
    • Size:标签大小
    • Visible:标签是否可见
      5.TextBox:文本框
    • Text: 文本内容
    • MaxLength:文本框最多输入字符个数
    • WordWrap:自动换行
    • PasswordChar:密码字符替换
    • Multiline:多行文本文本框
    • ReadOnly:只读
    • Lines:文本行数
    • ScrollBars:滚动条
  5. Button:按钮控件

  6. RadioButton:单选按钮

  7. CheckBox:多选按钮

  8. CheckedListBox:多选集合

  9. ListBox:列表

    • MultiColumn:列表是否支持多列
    • Items:列表框的值
    • SelectedItems:选中项的集合
    • SelectedItem:选中项
    • SelectedIndex:选中项的索引
    • SelectionMode:列表选择模式
      • One:只能选择一项
      • MultiSimple :可选择多项
      • None: 不可选择
      • MultiExtended:可选择多项但要按下shift
    • 方法:

      • Add: 添加项
      • Insert: 指定位置添加项
      • Remove: 移除项

         /// <summary>/// 添加按钮/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void Button1_Click(object sender,EventArgs e) {if(textBox1.Text != null && textBox1.Text != "") {listBox1.Items.Add(textBox1.Text);textBox1.Text = "";} else {MessageBox.Show("不得为空");}}/// <summary>/// 查看选中/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void Button2_Click(object sender,EventArgs e) {string s = "";for(int i = 0;i < listBox1.SelectedItems.Count;i++) {s = s + "   " + listBox1.SelectedItems[i].ToString();}MessageBox.Show("选中项为" + s);}/// <summary>/// 删除/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void Button3_Click(object sender,EventArgs e) {List<string> list = new List<string>();for(int i = 0;i < listBox1.SelectedItems.Count;i++) {list.Add(listBox1.SelectedItems[i].ToString());}foreach(string s in list) {listBox1.Items.Remove(s);}}
        
  10. ComboBox:组合框
    • DropDownStyle:外观 Simple(显示文本框和列表框,文本框可编辑),DropDown(只显示文本框,文本框可通过鼠标展开,可编辑),DropDownList(只显示文本框,文本框可通过鼠标展开,不可编辑)
    • Items: 获取或设置组合中的值
    • Text:获取或设置组合框中的文本
    • MaxDropDownItems: 获取或设置最多显示的项数
    • Stored: 是否排序
        /// <summary>/// 初始化/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void ComboBox_Load(object sender,EventArgs e) {comboBox1.Items.Add("计算机网络技术");comboBox1.Items.Add("软件工程");comboBox1.Items.Add("生物制药");comboBox1.Items.Add("会计");comboBox1.Items.Add("平面设计");}/// <summary>/// 添加按钮/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void Button1_Click(object sender,EventArgs e) {if (textBox1.Text == "") {MessageBox.Show("不得为空");return;}if (comboBox1.Items.Contains(textBox1.Text)) {MessageBox.Show("当前专业已存在");return;}comboBox1.Items.Add(textBox1.Text);textBox1.Text = "";}/// <summary>/// combox/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void ComboBox1_SelectedIndexChanged(object sender,EventArgs e) {DialogResult dialogResult = MessageBox.Show("当前所选专业为" + comboBox1.Text + "是否删除?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question);if (dialogResult == DialogResult.Yes) {comboBox1.Items.Remove(comboBox1.Text);MessageBox.Show("删除完成");}}
      
  11. PictureBox:图片控件

    • Image:获取或设置显示的图片
    • ImageLocation: 获取或设置图片路径
    • SizeMode: 设置图片显示大小和位置Normal(显示在左上角),Stretchimage(适应控件大小),AutoSize(控件大小适应图片大小),Centerimage(图片在图片控件居中),Zoom(图片自动缩放至符合图片控件的大小)
  12. Timer:定时器控件

        /// <summary>/// 当窗体最小化时/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void SizeChange(object sender,EventArgs e) {if(WindowState == FormWindowState.Minimized) {this.Hide();notifyIcon1.Visible = true;notifyIcon1.ShowBalloonTip(20,"demo","this is a demo",ToolTipIcon.Warning);}}
    
  13. DateTime日期时间控件

    • Short:短日期格式,例如2019/1/1
    • Long:长日期格式,例如2019年1月1日
    • Time:仅显示时间,例如22:00:00
    • Custom:用户自定义显示格式
        /// <summary>/// 定时器设置/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void DateTime_Load(object sender,EventArgs e) {dateTimePicker1.Format = DateTimePickerFormat.Time;timer1.Interval = 1000;timer1.Start();}/// <summary>/// 定时器触发/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void Timer1_Tick(object sender,EventArgs e) {dateTimePicker1.ResetText();}
      
  14. ContextMeanStrip :右击菜单控件

  15. MonthCalendar: 时间控件
  16. treeView
        private void TreeView_Load(object sender,EventArgs e) {treeView1.Nodes.Add("全部信息");}/// <summary>/// 添加下级/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void Button1_Click(object sender,EventArgs e) {if(treeView1.SelectedNode == null) {MessageBox.Show("请选择节点!!!!");} else if(textBox1.Text != "") {TreeNode treeNode = new TreeNode(textBox1.Text);treeView1.SelectedNode.Nodes.Add(treeNode);} else {MessageBox.Show("节点信息不得为空!");}}/// <summary>/// 添加同级/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void Button3_Click(object sender,EventArgs e) {if(treeView1.SelectedNode.Parent == null) {MessageBox.Show("请添加下级");return;}if(treeView1.SelectedNode == null) {MessageBox.Show("请选择节点!!!!");} else if(textBox1.Text != "") {TreeNode treeNode = new TreeNode(textBox1.Text);treeView1.SelectedNode.Parent.Nodes.Add(treeNode);treeView1.ExpandAll();} else {MessageBox.Show("节点信息不得为空!");}}/// <summary>/// 删除节点/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void Button2_Click(object sender,EventArgs e) {if(treeView1.SelectedNode == null) {MessageBox.Show("请选择节点!!!!");} else if(treeView1.SelectedNode.Nodes.Count == 0) {treeView1.SelectedNode.Remove();} else {MessageBox.Show("请先删除子节点");}}
    
  17. listView

     /// <summary>/// 初始化列表/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void ListView_Load(object sender,EventArgs e) {//标题ColumnHeader c1 = new ColumnHeader();c1.Width = 100;c1.Text = "姓名";ColumnHeader c2 = new ColumnHeader();c2.Width = 50;c2.Text = "年龄";ColumnHeader c3 = new ColumnHeader();c3.Width = 100;c3.Text = "手机号";//显示网格线listView1.GridLines = true;//显示全行listView1.FullRowSelect = true;//设置只能单选listView1.MultiSelect = false;//显示详细信息listView1.View = View.Details;//添加标题listView1.Columns.Add(c1);listView1.Columns.Add(c2);listView1.Columns.Add(c3);}/// <summary>/// 添加/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void Button1_Click(object sender,EventArgs e) {if(label1.Text.Equals("") && label2.Text.Equals("") && label3.Text.Equals("")) {ListViewItem item = new ListViewItem();//第一列的数据item.Text = textBox1.Text;//第二列的数据item.SubItems.Add(textBox2.Text);//第三列数据item.SubItems.Add(textBox3.Text);listView1.Items.Add(item);MessageBox.Show("添加成功");//添加后把文本输入框清空foreach(Control c in Controls) {if(c is TextBox) {c.Text = "";}}} else {MessageBox.Show("请填写内容");}}/// <summary>/// 删除/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void Button2_Click(object sender,EventArgs e) {List<ListViewItem> list = new List<ListViewItem>();for(int i = 0;i < listView1.SelectedItems.Count;i++) {list.Add(listView1.SelectedItems[i]);}foreach(ListViewItem item in list) {listView1.Items.Remove(item);}}
    
  18. notifyIcon: 托盘控件

        /// <summary>/// 当窗体最小化时/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void SizeChange(object sender,EventArgs e) {if(WindowState == FormWindowState.Minimized) {this.Hide();notifyIcon1.Visible = true;notifyIcon1.ShowBalloonTip(20,"demo","this is a demo",ToolTipIcon.Warning);}}
    
  19. toolTip:气泡控件
              /// <summary>/// 设置气泡/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void OpenAndSaveFile_Load(object sender,EventArgs e) {toolTip1.ToolTipTitle = "提示";toolTip1.ToolTipIcon = ToolTipIcon.Info;toolTip1.SetToolTip(this.button1,"打开文件");}
    
  20. MDI窗体: 窗体内窗体
  21. progressBar进度条控件
        /// <summary>/// 开始跑进度条/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void Button1_Click_1(object sender,EventArgs e) {progressBar1.Maximum = 1000;progressBar1.Value = i;label1.Show();while (progressBar1.Value!=progressBar1.Maximum){label1.Text = "进度:"+progressBar1.Value*100 / progressBar1.Maximum+"%";label1.Refresh();i++;progressBar1.Value = i;Thread.Sleep(100);}
    
  22. panel容器
        /// <summary>/// 控制panel容器/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void Button1_Click(object sender,EventArgs e) {//清空容器容器中的控件this.panel1.Controls.Clear();//new一个进度条控件progressBar progress = new progressBar();//不设置或出现System.ArgumentException:“无法将顶级控件添加到控件。”progress.TopLevel = false;//让进度条控件的大小以容器大小为主progress.Dock = DockStyle.Fill;//去除窗口边界progress.FormBorderStyle = FormBorderStyle.None;//设置最大化progress.WindowState = FormWindowState.Maximized;//隐藏工具栏progress.Visible = false;//容器大小设置为窗口大小panel1.Height = Screen.PrimaryScreen.Bounds.Size.Height;panel1.Width = Screen.PrimaryScreen.Bounds.Size.Width;this.panel1.Controls.Add(progress);progress.Show();}
    

    相关代码在GitHub地址

转载于:https://www.cnblogs.com/JaminYe/p/11256450.html

winForm入门学习相关推荐

  1. python速成要多久2019-8-28_2019最全Python入门学习路线,不是我吹,绝对是最全

    近几年Python的受欢迎程度可谓是扶摇直上,当然了学习的人也是愈来愈多.一些学习Python的小白在学习初期,总希望能够得到一份Python学习路线图,小编经过多方汇总为大家汇总了一份Python学 ...

  2. MAYA 2022基础入门学习教程

    流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,48.0 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小解压后:3.41 GB |时长:4.5小时 包含 ...

  3. 3dmax Vray建筑可视化入门学习教程

    面向初学者的3Ds Max Vray最佳Archviz可视化课程 从安装到最终图像的一切都将从头开始教授,不需要任何经验 大小解压后:3.25G 时长4h 6m 1280X720 MP4 语言:英语+ ...

  4. Blender 3.0基础入门学习教程 Introduction to Blender 3.0

    成为Blender通才,通过这个基于项目的循序渐进课程学习所有主题的基础知识. 你会学到什么 教程获取:Blender 3.0基础入门学习教程 Introduction to Blender 3.0- ...

  5. Maya游戏角色绑定入门学习教程 Game Character Rigging for Beginners in Maya

    准备好开始为游戏制作自己的角色动画了吗? 你会学到什么 了解Maya的界面 优化并准备好你的模型,为游戏做准备 了解关节以及如何使用它们来构建健壮的角色骨骼,以便在任何游戏引擎中制作动画 了解IK和F ...

  6. 三维地形制作软件 World Machine 基础入门学习教程

    <World Machine课程>涵盖了你需要的一切,让你有一个坚实的基础来构建自己的高质量的电影或视频游戏地形. 你会学到什么 为渲染或游戏开发创建高分辨率.高细节的地形. 基于Worl ...

  7. Blender3.0动画制作入门学习教程 Learn Animation with Blender (2021)

    要求 下载并安装Blender.免费下载和免费用于任何目的. 描述 加入我的动画课程. 在本课程中,我将从头开始讲述在Blender中创建动画场景的过程. 从第一步到最终渲染.在这个课程中,我们将使用 ...

  8. UE5真实环境设计入门学习教程

    大小解压后:4.69G 时长4h 30m 1280X720 MP4 语言:英语+中英文字幕(根据原英文字幕机译更准确) 虚幻引擎5–面向初学者的真实环境设计 Unreal Engine 5 – Rea ...

  9. ZBrush全面入门学习教程 Schoolism – Introduction to ZBrush

    ZBrush全面入门学习教程 Schoolism – Introduction to ZBrush ZBrush全面入门学习教程 Schoolism – Introduction to ZBrush ...

最新文章

  1. 变量,作用域,和内存问题
  2. 二十七、Kaggle| 研究生入学率预测
  3. SpringBoot与quartz框架实现分布式定时任务
  4. word List38
  5. indesign照片放入太大_猪肚鸡做法复杂,量太大,那来个简易版,用上大厨教的妙招更香了...
  6. 关于“幽灵架构”的补充说明5:改造控制器
  7. BZOJ 1779. [Usaco2010 Hol]Cowwar 奶牛战争
  8. 一次sendmsg的改造过程
  9. C#中要使ListBox使用AddRange()时,能够触发SelectedValueChanged事件
  10. mock server java_MockServer 简单示例
  11. 《C#图解教程》读书笔记之五:委托和事件
  12. Teamview使用方法说明
  13. 【java线程篇】守护线程(Deamon)
  14. Bugzilla windows安装
  15. sql日期中文大写显示
  16. ASAM XCP及驱动代码、ISO 11898+CANFD,ISO 14229,ISO 15031,ISO 15765相关标准文档
  17. Python正则表达式写法
  18. 必领空投一:4EVERLAND部署奖励
  19. matlab基础语法
  20. 什么是Kusama (KSM)以及与波卡的区别

热门文章

  1. 开源、高质量QR码多语言生成库
  2. BMVC2018图像检索论文—使用区域注意力网络改进R-MAC方法
  3. 百万年薪大佬熬夜写作,Python高级编程之反爬虫及应对方案
  4. PyTorch | torch.zeros()如何使用?torch.zeros使用方法 | torch.zeros()例子
  5. 深度学习(六十八)darknet使用
  6. 算法移植优化(七)cmake常用函数记录
  7. php与mysql实例教程_mysql实例与连接
  8. java串口编程程序_想成为程序员,学编程,Python、Go、Java、C++,你选什么?
  9. 2016年系统集成项目管理工程师最新考试说明
  10. Linux常用命令大全(非常全)