c#帮助文档

1、代码折叠
 #region 提示文本  #endregion
1-1、随机数:
 Random rnd = new Random();
 rnd.next();
2、万能类型转换:
 类型  变量 = Convert.To类型(值);
3、循环:
  ·  for (int i = 0; i < length; i++){}
  ·  foreach (var item in 数组/集合){}
 
  ·  switch (值)
 {//等值判断
  case 值: 代码;break;
  default:
 }
4、· 数组创建:类型 [] 数组名 = new 类型[大小] {'赋值'};
   · 数组名[下标] = '值';  //赋值
5、排序(升序):Array.Sort('值');
6、反转(降序):Array.Reverse('值');
7、判断值类型:char值是否
  · 为数字: bool 变量 = char.IsDigit('值');
  · 为字母: bool 变量 = char.IsLetter('值');
  · 为标点符号: bool 变量 = char.IsPunctuation('值');
  · 为空格: bool 变量 = char.IsWhiteSpace('值');
....................................................
8、String 类属性和方法:
 > 长度:lenght ;
 > 拆分:变量 .Split(拆分符);
 > 提取子字符串:  string 变量名= 变量名.Substring(起始下标, 长度);
 > 查找:指定字符串出现的位置(没有返回:-1)
  ·int 变量 = 变量.IndexOf('字符');//找第一个出现的位置
  ·int 变量 = 变量.LastIndexOf('字符');//找到的是最后一个出现的位置
 > 判断是否为指定字符串:
  ·开头:bool 变量 = 变量.StartsWith("值");
  ·结尾:bool 变量 = 变量.EndsWith("值");
 > 替换:类型  变量= 变量.Replace('旧字符', '新字符'); 
 > 转换:
  ·大写:变量 = 变量.ToUpper();
  ·小写:变量 = 变量.ToLower();
 >提取指定位置的单个字符:
  ·char 变量 = string 变量 [下标];
 >去掉两边的空格:.Trim();
 >去掉最后一个字符:名.Substring(0, 名.Length - 1);
-----------------------------------------------------------------------
 
  Winform:窗体技术
 // 属性、方法、事件 等...基本都一样(以下略写略记的)
1、标签:Label (lbl)
  属性:text:文本值、font:字体、foreColor:字体颜色、backcolor:背景颜色、
  AutoSize:自动调整大小、visible:状态(是否可见)
1-1、事件: click: 单击时....
-----------------------------------------------------------------------
2、按钮:button (btn)
  属性:enabled : 是否可用、
3、文本框:TextBox (txt)
  属性:passwordchar:密码框、scrollbarss:滚动条
  方法:.focus(); : 获得焦点、
      .SelectAll();选定文本框的所有文本
      .clear(); 清空
4、时间控件: Timer (tim)
  属性:Enabled : 启用状态、Interval:时间间隔(毫秒)
  //运行原理:当Enabled 设置为:true 时每隔 Interval 秒 自动触发一次 Tick 事件
......  ........  .........  ........  ...........    .....................
5、列表框:listBox (lst)
  ·添加数据:名.Items.Add('值');
  ·删除数据:名.Items. [ Remove('值')或 .RemoveAt(索引)或 .clear() ];
  ·获取当前选中值:名.Text
  ·当前选中索引: int 变量 = 名.selectedlndex;
  ·总行数: int 变量 = 名.count;
  ·根据索引获取对应的值:类型 变量 = 名.Items[索引];
······································
6、组合框(下拉框):comboBox (cbo)
  属性:下拉样式:DropDownWidth
  方法:
 名.DisplayMember = "字段名"; //显示值
 名..ValueMember = "字段名";  //隐藏值
7、图片框:pictureBox (pic)
  属性:设置图片:Image
  // 名.Image = Image.FromFile('图片路径'); //("文件夹\\图片名")
  图片样式:SizeMode: Normal(正常的)/ Autosize(框随图片变)/ StretchImage(图片随框变)
------------------------------------------------------------------------------
8、单、复选框
  ·单:RadioButtonv (rad)
  ·复:checkBox     (chk)
 属性:checked : 默认状态
9、容器控件:
  ·面板:panel (pnl)
  ·分组框:GroupBox (Gb)
······································
10、窗体
  属性:Icon : 图标、FormBorderstyle:边框样式、 MaximizeBox:最大化、MinimizeBox:最小化
 StartPosition:(CenterScreen:居中)窗口启动位置、 WindowState:显示状态
 AcceptButtom:响应回车键、
 CancelButtom:响应 ESC 按钮、
 Opacity:透明值
 AutoSizeMode:自动调整大小模式
   方法:关闭窗体:this.close();、 System.Environment.Exit(0);
 Show窗体:类名  名 = New 构造方法();
 显示窗体:名.show() / 名.showDialog();
11、消息框
      MessageBox.Show("消息" , "标题",按钮 , 图标); 有返 回值
     例:DialogResult 变量= MessageBox.Show("消息","标题",MessageBoxButtons .YesNo, MessageBoxIcon.Asterisk);
-------------------------------------------------------------------------------
12、公共属性:
 1:停靠:Dock、锚定: Anchor
13、列表视图 - ListView (lvw)
 属性:view : 五种视图
      整行选中:fullRowSelect、网格线:GridLines、失去焦点时突出显示:HideSelection
    添加数据:
     ·创建空行对象:
       ListViewItem 名 = new ListViewItem("值");
     ·向空行各个单元格赋值
  //名.SubItems[0].Text = "值";//向第一个单元格赋值
  //向后续赋值
        名.SubItems.Add("值");
     ·将创建对象(赋值后)添加到 ListView 中
        视图名.Items.Add(名);
    
 添加图片:
     ·将ImageList 和 Listview 进行关联
 属性:LargeImageLiset 、 SmallImageList
     ·设置每一行对象的 ImagelnDex
 
     方法:
      ·获取当前选中行
  ListViewItem 变量= 视图名.SelectedItems[0];
      ·获取当前选中行的某列值
  类型 变量= (选中行)变量.SubItems[下标].Text;
 ·移除 ListView 中所有数据
  lvw名 .Items.Clear();
 ·判断是否选中
  if (lvw名.SelectedItems.Count == 0)
             {
   //代码 等于0没有选中             }
     ·循环当前选中行取值:
  for (int i = 0; i < lvw名.SelectedItems.Count; i++)
            {
                类型 变量 = lvw名.SelectedItems[i].SubItems[下标].Text;
            }
·ListView增加数据简便方法
   //导入命名空间:using System.Reflection;
   foreach (类型 stu in 对象名/数组名)
              {
                  ListViewItem item = new ListViewItem(stu.第一个字段名+"");
                  PropertyInfo[] mems = stu.GetType().GetProperties();
                  foreach (var a in mems)
                  {
                       if(a.Name != "第一个字段名")
                       item.SubItems.Add(a.GetValue(stu,null)+"");
                  }
                  lvw名.Items.Add(item);
              }
------------------------------------------------------------------------------------
14、dataGridView (dgv)
     属性:
 ·AllowUserToAddRows:是否允许增加数据、AllowUserToDeletRows:是否允许删除数据、
 ReadOnly:只读、BackgroundColor:背景色、SelecttionMode:FullRowSelect//整行选中
     方法:
 1、获取当前选中行索引和列索引
  int row(变量) = dgv名.CurrentCell.RowIndex; //行
  int Column(变量) = dgv名.CurrentCell.ColumnIndex; //列
 2、获取指定单元格的值
  类型 变量名 = dgv名.[列索引/列名,行索引].Value;
 3、获取总数:
  dgv名.Rows.count;
 4、循环
  for (int i = 0; i < dgv名.SelectedRows.Count; i++)
             {
                类型 变量 = dgv1.SelectedRows[i].Cells[下标].Value;
             }
-------------------------------------------------------------------------------------
15、右键菜单: contextmenustrip  (mnu)
      ·必须将菜单与控件 ContextMenuStrip 属性关联
 方法:循环获取菜单值
  foreach (ToolStripItem item in 菜单名..Items)
                {
                    if (item is ToolStripItem)
                    {
                        //代码
                    }
                }
16、菜单: MenuStrip (mnu)
 方法:循环获取菜单值
  1、无图片菜单
   foreach (ToolStripMenuItem item in 菜单名.Items)
                     { //父菜单
                          if (item is ToolStripMenuItem)
                          {
                               //代码
                          }
                         foreach (ToolStripMenuItem sItem in item.DropDownItems)
                         {    //子菜单
                              if (sItem is ToolStripMenuItem)
                              {
                                  //代码
                              }
                         }
                     }
  2、有图片菜单
   foreach (ToolStripItem item in 菜单名.Items)
                     {
                         if (item is ToolStripItem)
                         {
                              //代码
                         }
                     }
   
17、工具栏:ToolStrip
     属性:
      ·设置提示文本:Tooltipext、显示样式:Displaystyle
       改变图片和文字位置:TextInageRelation
18、状态栏: Statustrip (stp) 
     属性:Spring : 占满剩余空间、Bordersides:显示的边框方位、BorderStyle:边框样式
···---...———···---...———···---...———···---...———···---...———
    ADO.NET
1、.Net 数据提供程序 
 @:SqlConnection : C# 与 SQL 连接
 @:SqlCommand    : 对数据进行 增\删\查\改
 @:SqlDataReader : 查询数据(单条查询)
 @:SqlDataAdapter: 查询数据(批量查询)
2、步骤:(增\\删\\改\\单条查询)
 ·导入命名空间:using System.Data.SqlClient;
 ·创建连接对象(用以C#和SQL连接)
  SqlConnection con = new SqlConnection("server=.;database=数据库名;uid=sa;pwd=密码");
 ·打开连接: con.open();
 ·创建一个命令对象
  SqlCommand cmd = new SqlCommand();
 ·为 cmd 指派任务
  cmd.Connection = con;
  cmd.CommandText = Sql语句;   //要执行的语句
 ·执行任务(选一)
  1:int 变量 = cmd.ExecuteNonQuery(); // 返回受影响的行数
  2:object 变量 = cmd.ExecuteScalar(); //返回首行首列值
  3:SqlDataReader 变量= cmd.ExecuteReader(); // 单条查询(返回SqlDataReader对象)
   变量.read(); //读取数据
   类型 变量名= 变量[下标]; //提取字段值
   变量.close(); //关闭阅读器
 ·关闭连接:con.close();
3、步骤:(批量查询)
 ·导入命名空间:using System.Data;
 ·创建连接对象(用以C#和SQL连接)
  SqlConnection con = new SqlConnection("server=.;database=数据库名;uid=sa;pwd=密码");
 ·打开连接: con.open();
  SqlDataAdapter da = new SqlDataAdapter(Sql语句, con);
 ·将da带回的数据填充到数据集中
  Dataset ds = new Dataset(); //创建数据集对象
  da.Fill(ds,"表名");     //填充
  名.Datasource = ds.Tables["表名"]; // 显示数据
··············································
    异常处理
1、写法用法: try
            {
                //此处放可能会出现异常的代码
            }
            catch (Exception Ex)
            {
                //此处放处理异常的代码
                //可处理也可不处理
            }
            finally
            {
                //此处放始终要执行的代码
            }
---------------------------------------------------------------------------------------------
   其他方法
1、当前系统时间:DateTime.Now.ToString();
·················································
 
 C#高级应用
1、查找指定字符(是否包含):名.Contains("字符");
2、查找指定字符位置:类型 变量名= 名.IndexOf("字符");
    集合
1、Hashtable (存放键和值)
  Hashtable 名 = new Hashtable();
  名.Add(键, 值);//添加值
      名.Remove(键);//移除值
  名.clear(); //清除
  类型 变量= 名[0];//获取值(根据键获取值)
   名.Keys:键集合  名.Values:值集合
2、泛型集合
 (1)、 List<类型> 名 = new List<类型>();
 (2)、Dictionary<键类型, 值类型> 名 = new Dictionary<键类型, 值类型>();
·················································  
    LING 技术
1、Ling
 常用的扩展方法:(集合对象和数组对象调用)
 ·名.Where(p=>表达式(bool)); //从集合筛选出满足条件的数据(多条数据)
 ·名.Single(p=>表达式);  //筛选出满足条件的唯一一条数据
 ·名.Select(p=>表达式);  //提取指定部分的值
 ·名.OrderBy(p=>表达式);  //升序
 ·名.OrderByDescending(p=>表达式); //降序
  {再次排序要在排序后使用
  ·名.ThenBy(p=>表达式);   //再次排序(升序)
  ·名.ThenByDescending(p=>表达式);//再次排序(降序)}
 ·名.Take(数量);  //提取指定数量的前几条数据
 ·名.Skip(数量);  //跳过指定数量的数据.提取剩余的数据
 ·名.GroupBy(p => 分组统据); //分组
  名.Key  //提取组名
 ·名.SkipWhile(p=>表达式); //条件成立时跳过.一旦不成立马上终止,提取剩余数据
 ·名..TakeWhile(p=>表达式); //条件成立时提取.一旦不成立马上终止,不再提取剩余的数据
2、集合方法:
 ·Sum(); //求和
 ·Average(); //求平均值
 ·Max(); //求最大值
 ·Min(); //求最小值
 ·count(); //求个数
3、常用方法:
 Enumerable.Range(起始值,个数); //生成连续的整数数字序列
 Enumerable.Repeat(值,个数); //生成连续指定数量的重复的值
4、取整数
 Math.ceiling (值/值)或(大数除小数); //取比当前除出来的数大的最小整数
 Math.Floor(小数);   //取比当前小的最大整数
5、其他
 名.contains(); //是否包含
 名.SelectAll(); //高亮度显示
 名.text.Endswith(值); //是否以当前值结尾的
6、分页技术
 1、int pages = (int)Math.Ceiling(集合名.Count / 每页显示条数.0); //获取总页数
    下拉框名.DataSource = Enumerable.Range(1, pages).ToList(); //生成页码
 
 2、 int count = int.Parse(下拉框名.Text) * 条数 - 条数; //要显示的数据
            var result = students.Skip(count).Take(条数);  //提取数据保存到:var result 中
 3、循环把提取在 result 中的数据显示到 ListView 中
  foreach (类型 stu in result)
             {
                 ListViewItem item = new ListViewItem(stu.第一个字段名);
                 item.SubItems.Add(stu.字段名);
    ...
                 lvw名.Items.Add(item);
             }
 4、首页:下拉框名.SelectedIndex = 0; 尾页:下拉框名.SelectedIndex = pages - 1;
    上一页:if (下拉框名.SelectedIndex == 0){return;} else{下拉框名.SelectedIndex--;}
    下一页:if (下拉框名.SelectedIndex == pages-1){return;} else{下拉框名.SelectedIndex++;}
-------------------------------------------------------------------------------------------
    三层架构
 表示层:UI 业务层:{ 逻辑层:BLL 实体类:Model} 数据访问层:DAL
一、三层架构创建步骤:
 1、新建项目 -》 其他项目类型 -》 解决方案(建一个空白解决方案项目) -》》
 2、添加 -》新建项目(UI、BLL、Model、DAL){注:UI是建窗口应用程序、其他为:类库}
 3、要使用其他类库时: 引用项目(对应的项目名) -》导入命名空间
二、连接数据库
 1、在 UI 层添加 -》 应用程序配置文件、(不要改名)、
 2、在 <configuration>
     <appSettings>
        <add key="sqlCon" value="server=.;database=数据库名;uid=sa;pwd=密码"/>
     </appSettings>
  </configuration>
 3、在 DAL 层使用:引用 -》 .NET -》 System.Confiquration
 再导入命名空间(3个):1、using System.Data;2、using System.Data.SqlClient;3、using System.Configuration;
 4、使用:string str = ConfigurationManager.AppSettings["sqlCon"];
                con = new SqlConnection(str); //连接SQL语句
 注:释放空间:名.Dispose();
三、关系
 UI 引用 Model、BLL
 BLL 引用 Model、DAL
 DAL 引用 Model
--------------------------------------------------------------------------------------------------------------------
     其他
1、循环判断文本值 
 string name = txtName.Text;
            if (name.Length < 6 || name.Length > 12)
            {
                lblTips.Text = "用户名不合法";
            }
            else
            {
                lblTips.Text = "";
            }
            for (int i = 0; i < name.Length; i++)
            {
                char c = name[i];
                if (char.IsDigit(c))
                {
                    lblTips.Text += ",用户名不能带有数字";
                    return;
                }
            }
----------------------------------------------------------------
2、

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值