奇:
常用控件的使用(期间参杂着VS快捷键/常用设置)

快捷键:引用命名空间:shift+alt+F10

断点:F9

调试:F5

逐句调试(每行代码一次跳转):F11

逐过程调试:F10

重构提取方法:选中要重构的方法  ctrl+r  ctrl+m  输入方法  确定

新建dll类库: 解决方案资源管理器--解决方案--右键--新建项目--选择--类库(.net Framework)会提示是.dll类库啊,不要选错了

c#窗体开发

c#窗体开发选中后取名CarHOmeDLL  确定后文件位置如下:

 c#窗体开发

引用类库方式:

 工程引用:好处

c#窗体开发

c#窗体开发

 

DLL引用

c#窗体开发

 c#窗体开发

浏览找到并选中DLL文件在确定

 

 (红框)第一个是工程引用第二个是dll引用

c#窗体开发

 

 

 

组件:
公共控件:

WinForm 窗体
  Button           按钮
  ComboBox         select下拉列表框    选中它单机三角图标编辑页或者在属性面板的数据Items中添加option(DataSource是数据绑定项)
  Checkbox         复选框
  CheckedListBox   复选框列表(一个组垂直包含个checkbox多选框)
  DateTimePicker   日期时间控件
  GroupBox         分组控件
  Label            标签
  LinkLabel
  ListBox          多选列表框
  ListView         列表控件(多作为表格展示 先设置编辑列 行为的HeaderStyle:选择是否能点击  ;  外观的View:显示模式【一般选Details详细模式来显示表格】) 
  LinkLabel        超链接标签
  MaskedTextBox
  MonthCalendar
  NotifyIcon       托盘控件
  NumericUpDown    数字输入框
  PictureBox       图片框
  ProgressBar      进度条
  RadioButton      单选框
  RichTextBox
  TreeView         树控件
  Textbox          文本框
  ToolTip          气泡提示
  webBrowser

容器:

Panel                   面板
SplitContainer          分隔容器
TabControl              选项卡控件(tab页)
FlowLayoutPanel
GroupBox
tableLayoutPanel

ta'btabControl

c#窗体开发

//窗体初始化

默认显示第几个   
tabControl1.SelectedIndex = 0;
//Alignment: 调节tab显示在上下左右的位置

菜单和工具栏:

ContextMenuStrip         右键菜单
MenuStrip                菜单控件(类似导航)
StatusStrip              状态栏控件
ToolStrip                工具栏控件
ImageList                图片集合   ????(4.7版本未找到)
Timer                    时间控件

对话框:

FolderBrowserDialog         文件夹选择
OpenFileDialog              打开文件
SaveFileDialog              保存文件

数据

Chart
BindingNavigator
BindingSource
DataGridView
DataSet

组件

BackgroundWorker
DirectoryEntry
DirectorySearcher
ErrorProvider
Eventlog
FilesystemWatcher
CHelpProvider
ImageList
MessageQueue
PerformanceCounter
Process
SerialPort
ServiceController
Timer

 

 

 

窗体属性面板:

布局
--AuteScaleMode               自动缩放模式
--Autoscroll                  自动滚动
--AltoScrollMargin            自动滚动边距
--AutoScrollMinsize           自动滚动最小尺寸
--AutoSize                    自动大小
--AutoSizeMode                拖动窗口改变大小开关
--Location                    位置
--MaximumSize                 最大尺寸
--MinimumSize                 最小尺寸
--Padding                     是布局还是内边距?
--Size                        字体大小?
--StartPosition               启动窗体出现的位置
--Windowstate                 窗口状态

窗口样式(WindowStyle)
--ControlBox                  控制按钮组
--HelpButton                  帮助按钮
--lcon                        图标
    -size
--IsMdiContainer              是不是MDI容器
--MainMenuStrip               主菜单条
--MaximizeBox                 窗口最大化
--MinimizeBox                 窗口最小化
--Opacity                     不透明度
--Showlcon                    显示图标
--ShowlnTaskbar               在任务栏中显示
--SizeGripStyle               大小手柄样式
--TopMost                     是否为最顶层元素
--TransparencyKey             透明色
行为
--AllowDrop                          允许拖放
--AutoValidate                       自动验证
--ContextMennuStrip                  上下文菜单条
--DoubleBuffered                     双缓冲
--enabled                            可用
--ImeMode                            输入法模式
焦点(Focus)
--CausesValidation                   是否触发验证
可访问性(Accessibility)
--AccessibleDescription              可访问描述
--AccessibleName                     可访问名称
--AccessibleRole                     可访问角色
设计
(Name)                              默认Form1     对应  this.Name = "帝国标签窗口";  (这个自动生成窗口事件函数名时会取它的值;值_事件名)
language                             语言
Localizable                          本地化 
locked                               锁定  
数据
--(ApplicationSettings)
    --(PropertyBinding)
    --Location
    --Text
--(DataBindings)                     数据绑定
    --(Advanced)
    --Tag
    --Text
--Tag
外观(Appearance)
--BackColor                  背景颜色
--Backgroundlmage            背景图片
--BackgroundImageLayout      背景图片布局
--Cursor                     光标选择
--Font
--Name:宋体
--Size
--Unit
--Bold
--GdiChartSet
--GdVerticalFont
--GdiVerticalFont
--Italic
--Strikeout
--Underline --ForeColor --FormBorderStyle 字体边框样式 --RightToLeft 从右到左 --RightToLeftLayout 从右到左布局 --Text 窗口标题 对应 this.Text = "帝国cms标签"; --UseWaitCursor 用户等待光标 杂项 --AcceptButton 接受按钮 --CancelButton 取消按钮 --KeyPreview 键预览 --tooltip1上的ToolTip

 窗体组件属性面板:

TabIndex   设置按下tab键时跳转的顺序 对表单组件特别有用

 

窗体事件:

布局:
DpiChanged
DpiChangedAfterParent
DpiChangedBeforeParent
Layout                      布局
MdichidActivate             MDI 子窗口行为
Move                        移动             在移动控件时发生。(从 Control 继承。) 
PaddingChanged              边框更改          在控件空白区更改时发生。(从 Control 继承。)
Resize                      重置大小          在调整控件大小时发生。(从 Control 继承。)

操作
Click                 单击        在单击控件时发生。(从 Control 继承。)
Doubleclick           双击
MouseCaptureChanged   鼠标捕获更改  当控件失去鼠标捕获时发生。(从 Control 继承。)
MouseClick            鼠标单击     在鼠标单击该控件时发生。(从 Control 继承。)
MouseDoubleClick      鼠标双击     当用户使用鼠标双击 RadioButton 控件时发生。
ResizeBegin           重置尺寸开始
ResizeEnd             重置尺寸结束
Scroll                滚动

行为
ChangeUICues                   更改界面提示  在焦点或键盘用户界面 (UI) 提示更改时发生。(从 Control 继承。)
ControlAdded                   控制已加入   在将新控件添加到 Control.ControlCollection 时发生。(从 Control 继承。)
ControlRemoved                 控制已移除    在从 Control.ControlCollection 移除控件时发生。(从 Control 继承。) 
FormClosed                    (点击X,直接结束进程不会触发)关闭窗体事件发生在FormClosing之后
FormClosing                   (点击x,直接结束进程不会触发)关闭窗体
HelpButtonClicked              帮助按钮已点击        
HelpRequested                  帮助已请求
ImeModeChanged                 输入法模式已更改    当 ImeMode 属性更改时发生。此事件与此类无关。(从 ButtonBase 继承。)
InputLanguageChanged           输入语言已更改
InputLanguageChanging          输入语言准备更改
Load                           窗体初始化:
执行步骤program.cs的Main方法执行Application.Run(new Form1());然后调用Form1.cs中的Form1->Form1()析构函数中的InitializeComponent(){ this.Load += new System.EventHandler(this.Form1_Load);}最后调用Form1_Load() QueryAccessibilityHelp 查询访问帮助 在 AccessibleObject 为辅助功能应用程序提供帮助时发生。(从 Control 继承。)  Shown 展示 在控件样式更改时发生。(从 Control 继承。)  StyleChanged 样式已更改 系统颜色更改时发生。(从 Control 继承。)  SystemColorsChanged 系统颜色更改 按键
KeyDown 按键按下瞬间 KeyPress 按键按住 KeyUp 按键抬起瞬间 PreviewKeyDown 预览键按下 在焦点位于此控件上的情况下,当有按键动作时发生(在 KeyDown 事件之前发生)。(从 Control 继承。)  焦点 Activated 活动   Deactivate 非活动 Enter 进入 Leave 离开 Validated 已验证 在控件完成验证时发生。(从 Control 继承。) Validating 验证中 属性已更改 AutoSizeChanged 当 AutoSize 属性的值更改时发生。(从 ButtonBase 继承。)  AutoValidateChanged BackColorChanged 当 BackColor 属性的值更改时发生。(从 Control 继承。) BackgroundlmageChanged 当 BackgroundImage 属性的值更改时发生。(从 Control 继承。)  BackgroundlmageLayoutChanged 当 BackgroundImageLayout 属性更改时发生。(从 Control 继承。)  BindingContextChanged 当 BindingContext 属性的值更改时发生。(从 Control 继承。)  CausesValidationChanged 当 CausesValidation 属性的值更改时发生。(从 Control 继承。) ClientSizeChanged 当 ClientSize 属性的值更改时发生。 (从 Control 继承。) ContextMenuStripChanged 当 ContextMenuStrip 属性的值更改时发生。 (从 Control 继承。) CursorChanged 当 Cursor 属性的值更改时发生。(从 Control 继承。) DockChanged 当 Dock 属性的值更改时发生。(从 Control 继承。) EnabledChanged 在 Enabled 属性值更改后发生。(从 Control 继承。) FontChanged 在 Font 属性值更改时发生。(从 Control 继承。)  ForeColorChanged 在 ForeColor 属性值更改时发生。(从 Control 继承。) LocationChanged 在 Location 属性值更改后发生。(从 Control 继承。) MaximizedBoundsChanged MaximumSizeChanged   ParentChanged 在 Parent 属性值更改时发生。(从 Control 继承。) RegionChanged 当 Region 属性的值更改时发生。(从 Control 继承。)  RightToLeftChanged 在 RightToLeft 属性值更改时发生。(从 Control 继承。)  RightToLeftLayoutChanged SizeChanged 在 Size 属性值更改时发生。(从 Control 继承。) TextChanged 在 Text 属性值更改时发生。(从 Control 继承。)  VisibleChanged 在 Visible 属性值更改时发生。(从 Control 继承。) 鼠标 MouseDown 鼠标按下 当鼠标指针位于控件上并按下鼠标键时发生。(从 Control 继承。) MouseEnter 鼠标进入 在鼠标指针进入控件时发生。(从 Control 继承。) MouseHover 鼠标移入 在鼠标指针停放在控件上时发生。(从 Control 继承。)  MouseLeave 鼠标离开 在鼠标指针离开控件时发生。(从 Control 继承。)  MouseMove 鼠标移动 在鼠标指针移到控件上时发生。(从 Control 继承。)  MouseUp 鼠标抬起 在鼠标指针在控件上并释放鼠标键时发生。(从 Control 继承。) 
MouseWheel????? 在移动鼠标轮并且控件有焦点时发生。(从 Control 继承。)
数据 (DataBindings) 数据绑定 --CollectionChanged --CollectionChanging 拖放 OragDrop 拖放 OragEnter 拖放进入 OragLeave 拖放离开 DragOver 拖放经过 GiveFeedback 给予反馈 QueryContinueDrag 查询继续拖动 在拖放操作期间发生,并且允许拖动源确定是否应取消拖放操作。(从 Control 继承。) 外观 Paint 在重绘控件时发生。(从 Control 继承。) 



TabIndexChanged           在 TabIndex 属性值更改时发生。(从 Control 继承。) ????????
TextChanged             在 Text 属性值更改时发生。(从 Control 继承。)

 

 

初始:

app.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
    </startup>
</configuration>

cs

namespace WindowsFormsApp2
{
    partial class Form1
    {
        /// <summary>
        /// 必需的设计器变量。
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// 清理所有正在使用的资源。
        /// </summary>
        /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows 窗体设计器生成的代码

        /// <summary>
        /// 设计器支持所需的方法 - 不要修改
        /// 使用代码编辑器修改此方法的内容。
        /// </summary>
        private void InitializeComponent()
        {
            this.components = new System.ComponentModel.Container();
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(800, 450);
            this.Text = "Form1";
        }

        #endregion
    }
}

program.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp2
{
    static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
}

Accessibility:可访问

AccessibleDescription::可访问描述

AccessibleName:可访问名称

AccessibleRole:可访问角色

 

 

 

 添加资源:右键双击红框项

c#窗体开发

 

笔记:

窗体
怎么修改标题 :外观--Text属性即可.
c#窗体开发

怎么修改左上角图标 :   窗口样式->ICON属性  图标最合适的大小 32*32

窗体出现的位置:布局--StartPosition


StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
固定窗体的大小(不允许修改窗体大小)
this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; 不允许修改窗体大小[GrowOnly(默认)]

是否有最大化,最小化.
this.MaximizeBox = false;

 

 

按钮
基本特性:
鼠标滑过(按钮获取焦点)时,按钮的背景色发生改变(浅蓝色)[原始状态为灰色]
鼠标"左键"按下时,按钮背景色为深蓝色,鼠标弹起时,变为浅蓝色

控件都会有Enable属性.标示当前控件是否允许使用.如果不想对其操作,那么Enable属性设置为False;

MouseClick与Click
共同点: 都会接受鼠标左键单击事件.并且具有共同信息(鼠标单击的位置(x/y坐标),鼠标按下的键,按下次数);
不同点: MouseClick 会接受鼠标其他按键,click不会.[其他按键:右键/中键/其他](button比较特殊,仅接受鼠标左键.)

 

 

下拉列表框 ComboBox
快速监视快捷键:Ctrl+d+q

text 属性获取的数据为控件显示的内容.
SelectedItem 是获取当前选择的对象.
如果当前DropDownStyle 为DropDown时,可以更改下拉框中的内容.那么将会引发使用SelectedItem的null异常.
为了避免用户修改,我们一般会设置如果当前DropDownStyle为如果当前DropDownList

如果需要做一个联动的逻辑.
首先获取 cmb1 选择的数据
然后设置 cmb2 选择的项目.

二级联动

using System;
using System.Windows.Forms;
using System.Collections.Generic;
namespace WindowsFormsApp2
{
    public partial class 帝国标签窗体 : Form
    {
        public 帝国标签窗体()
        {
            InitializeComponent();
        }
        Dictionary<string, string> dic = new Dictionary<string, string>();
        private void 帝国标签窗体_Load(object sender, EventArgs e)
        {
            //窗体初始化
            /*
            cmb下拉框.SelectedIndex = 0;//默认选中第一个
            cmb下拉框.Items.Add("我");
            cmb下拉框.Items.Add("like");
            string[] strs = new string[] {"a","b" ,"c"};
            cmb下拉框.Items.AddRange(strs);

           */
            dic.Add("北京", "海淀,通州,朝阳");
            dic.Add("上海", "普陀区,闵行区,陆家嘴");
            foreach (var item in dic.Keys)
            {
                cmb下拉框.Items.Add(item.ToString());
            }
            cmb下拉框.SelectedIndex = 0;//默认选中第一个
        }


        private void Button1_Click(object sender, EventArgs e)
        {
            //获取下拉框数据
            string textstr = cmb下拉框.Text;
            object obj= cmb下拉框.SelectedItem;
            string str = cmb下拉框.SelectedText;
            object obj2 = cmb下拉框.SelectedValue;
        }

        private void Cmb下拉框_SelectedIndexChanged(object sender, EventArgs e)
        {
            //清空原有数据
            cmb下拉框2.Items.Clear();
            //获取选中项
            string selecttext = cmb下拉框.SelectedItem.ToString();
            //使用选中项目获取dic中的value
            string strvalue = dic[selecttext];
            string[] strs = strvalue.Split(',');
            cmb下拉框2.Items.AddRange(strs);
            cmb下拉框2.SelectedIndex=0;
        }
    }
}
View Code

相关文章:

  • 2021-12-31
  • 2021-12-18
  • 2022-12-23
  • 2022-12-23
  • 2021-06-10
  • 2021-10-31
  • 2021-12-03
猜你喜欢
  • 2021-08-21
  • 2021-05-05
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案