c# winform 个人初学笔记

目录

    • 1.关于c#
    • 2.窗体类的拆分
    • 3.C#中internal
    • 4.Form窗体
      • (1)窗体的常用属性:
      • (2)窗体的常用事件:
    • 5.多窗体应用
      • (1)项目的启动窗体
      • (2)多窗体应用中,窗体间如何相互调用?
      • (3)Show()与ShowDialog()的区别
    • 6.MessageBox.Show()弹出一个消息框。
    • 7.close()和Application.Exit()
    • 8.标签控件Label
    • 9.文本框TextBox
      • (1)常用的属性:
      • (2)常用的事件:
    • 10.复选框CheckBox
      • (1)常用的属性:
      • (2)常用的事件:
    • 11.单选框控件RadioButton
    • 12.下拉列表ComboBox
      • (1)添加数据项
      • (2)获取选中的项
      • (3)常用事件
    • 13.列表框ListBox(类似于qt中listWidget)
      • (1)常用属性:
      • (2)常用事件:
    • 14.菜单栏
      • (1)下拉式菜单MenuStrip
      • (2)弹出式菜单ContextMenuStrip
    • 15.图片相关
      • (1)关于Image和Bitmap
      • (2)引用图片时的路径问题
      • (3)PictureBox和ImageList控件
      • (4)图片资源
    • 16.对话框
    • 17.一些鼠标事件
    • 18.计时器Timer控件
      • (1)常用属性
      • (2)常用方法
      • (3)常用事件
    • 19.系统托盘NotifyIcon控件
      • (1)常用属性
    • 20.列表视图ListView
      • (1)常用属性
      • (2)常用方法
      • (3)常用事件

1.关于c#

应用场景:
1.桌面应用程序开发:
    基于WindowsForms API;
    基于WPF API。
2.Unity3D游戏开发
3.Asp.net网站开发(优先使用java技术)

2.窗体类的拆分

XXX.cs(业务代码) + XXX.Designer.cs(界面代码,由设计器自动生成)两个部分构成了一个类

3.C#中internal

简单来说,就是使用internal的类只能在同一个项目中使用,不能在别的项目中使用,比如你的解决方案中有两个项目,那么只能在其所在的一个使用。

4.Form窗体

(1)窗体的常用属性:

  1. Icon属性:设置窗体图标。
  2. Text属性:设置窗体标题。
  3. MaximizeBox:禁用窗体最大化按钮。
  4. MinimizeBox:禁用窗体最小化按钮。
  5. FormBorderStyle:设置窗体的边框样式(窗体是否固定也通过此属性设置)。
  6. StartPosition属性:设置窗体首次出现的位置。
  7. WindowState属性:设置窗体的初始可视状态。
  8. TopMost属性:是否设置最前端窗口显示。
  9. BackColor属性:设置窗体的背景颜色。
  10. BackgroundImage属性: 设置窗体背景图片。
  11. BackgroundImageLayout属性:背景图片的布局方式。
  12. ShowInTaskbar属性:是否在任务栏显示窗体。

(2)窗体的常用事件:

  1. Load事件:窗体加载事件。
  2. Click事件:窗体单击事件。
  3. FormClosing事件:窗体关闭事件(关闭前触发)(e.Cancel = true这行代码可以阻止窗体的关闭)。

5.多窗体应用

(1)项目的启动窗体

启动窗体在Program类的Main()方法中使用Application.Run(窗体对象)进行设置。

(2)多窗体应用中,窗体间如何相互调用?

使用new关键字创建窗体对象;
使用窗体对象.show()或窗体对象.showDialog()弹出窗体。

(3)Show()与ShowDialog()的区别

Show弹出的是非模式窗体,非模式窗体弹出时,仍能对其他窗体进行操作。
ShowDialog弹出的是模式窗体,模式窗体弹出时,无法对其他窗体进行操作,直至模式窗体被关闭。

6.MessageBox.Show()弹出一个消息框。

7.close()和Application.Exit()

在单窗体项目中,调用close()和Application.Exit()可以起到相同的效果,都是退出整个应用程序,因为关闭启动窗口即认为关闭了整个程序。
但是在多窗口项目中,close()代表关闭某个窗体,Application.Exit()方法则代表退出整个应用程序。

8.标签控件Label

通过Visible属性,可以显示或隐藏标签。

9.文本框TextBox

(1)常用的属性:

(1)Multiline:单行模式/多行模式
(2)PasswordChar:如果设置,则变成密码输入框
(3)ReadOnly:只读模式,即指定文本框是否允许被编辑。

(2)常用的事件:

(1)KeyPress:按键事件,常用于回车处理(比如用户在文本框输入文字后按下电脑上某个键时,就会触发该事件)。

10.复选框CheckBox

(1)常用的属性:

Text:文本显示;
Checked:是/否。

(2)常用的事件:

Click:点击动作;
CheckedChanged:选中状态(由选中变为非选中,或者由非选中变为选中时)发生变化。

11.单选框控件RadioButton

该控件用于为用户提供唯一选择,Text属性用于指定按钮右侧文本,Checked属性用于控制其选中状态,当选中状态发生更改时,将触发CheckedChanged事件。

12.下拉列表ComboBox

(1)添加数据项

方法一:在设计器里直接编辑:属性—数据—Items
方法二:在构造函数中手动添加:comboBox1.Add(“red”);

(2)获取选中的项

SelectedItem:选中项的值,null表示未选中;
SelectedIndex:选中项的索引,-1表示未选中。

(3)常用事件

SelectedIndexChanged(选中项发生变化时)。

13.列表框ListBox(类似于qt中listWidget)

列表框有来两方面的功能:
(1)展示:展示一些项给用户看;
(2)选择:让用户单选/多选;

(1)常用属性:

SelectionMode:单选/多选;

(2)常用事件:

SelectedIndexChanged(选中项发生变化时);

14.菜单栏

(1)下拉式菜单MenuStrip

(2)弹出式菜单ContextMenuStrip

15.图片相关

(1)关于Image和Bitmap

Image:抽象类,图像的统称;
Bitmap:具体类,位图,像素图。

(2)引用图片时的路径问题

winform里面图片文件的路径,用windnows路径(反斜杠):
比如:“c\example\1.png”;
而"c:/example/123/jng" 则不支持。

(3)PictureBox和ImageList控件

PictureBox控件只能存放一张图片,而ImageList控件控件是一个图像集,用于存储多个图像资源,通过索引访问图像集中的图片。

(4)图片资源

1.图片的来源
(1)本地文件,如"c\example\1.png"
(2)资源文件,Properties\Resources.resx,可以添加字符串、位图、图标、音频等类型的资源
(3)网络文件,如https://get.pxhere.com/photo/screen-light-white-vintage-chair-window-old-wall-color-blue-television-tv-furniture-shape-140745.jpg
2.添加资源文件的步骤:
(1)双击Resources.resx,并打开资源编辑器
(2)添加资源—添加现有文件—选择一张图片文件
(3)修改资源名称
(4)使用资源,例如:Bitmap photo=Properties.Resources.1;
3.另外,在程序打包时,资源数据会被打包到EXE程序中

16.对话框

1.一些常见的对话框:
打开文件对话框(OpenFileDialog)
保存文件对话框(SaveFileDialog)
字体选择对话框(FontDialog)
颜色选择对话框(ColorDialog)
目录选择对话框(FolderBrowserDialog)
打印预浏览对话框(PrintPreviewDialog)
打印对话框(PrintDialog)
2.具体用法见官方文档:https://docs.microsoft.com/zh-cn/dotnet/api/?view=windowsdesktop-6.0&term=button

17.一些鼠标事件

mouseDown按下鼠标事件
MouseUp鼠标抬起事件
MouseLeave弹窗事件
DoubleClick双击事件
Click单击事件
MouseMove移动事件
MouoseDouble双击事件

18.计时器Timer控件

计时器用于按照用户定义的时间间隔引发事件,即令程序每隔一段时间重复执行一个操作。

(1)常用属性

Interval属性:事件发生的间隔(频率),以毫秒为单位。
Enable:设置计时器是否启用,布尔类型。

(2)常用方法

Start():启动计时器;
Stop():停止计时器。

(3)常用事件

Tick()定时间隔到,自动引发的事件。

19.系统托盘NotifyIcon控件

软件启动后会在系统右下角创建一个小图标,称为系统托盘,当软件在后台运行时,可以通过系统托盘对软件进行相关操作。

(1)常用属性

Icon属性:将在系统栏中显示的图标,必须为ico格式文件。
Text属性:当鼠标悬停在图标上方是,显示的文本。
ContextMenuStrip属性:与系统图标相关联的右键快捷菜单。

20.列表视图ListView

(1)常用属性

Name:控件的名称;
Dock:控件在父容器中的停靠方式;
Items:包含控件中所有项的集合;
Columns:控件中显示的所有的列标题的集合;
View:控件的显示视图;
LargeImageList:当控件以大图标视图显示时使用的mageList;
SmallImageList:当控件以小图标视图显示时使用的mageList;
GridLines:在包含控件中的行和列之间是否显示网格线;
MultiSelect:是否可以选择多项;
SelectedItems:获取在控件选定的项;
FullRowSelect:单击某项是否选择其所有子项。

(2)常用方法

Clear:从控件中移除所有项和列,清空ListView。

(3)常用事件

Details:详细视图,标准的二维表格,第一行为表头;
LargeIcon(默认值):大图标,每一项显示为一个大图标;
SmallIcon:小图标,每一项显示为一个小图标;
List:列表,每项显示一行;
Tile:平铺,显示大图标,并在右侧显示详细信息。

你可能感兴趣的