C#学习笔记

2016-05-15 笔记

第49课 按钮(Button)、标签(Label)

按钮属性 (name)指 程序中用到的名称 Tesxt 按钮显示名称
BackColor 选定为Transpare 背景颜色设定为透明

MessageBox .Show ("Hello windows"); //弹出对话框
label1.Text ="答:有猫追。\n"; //变更标签信息 \n:换行

form.resx 资源存诸地方

注意:变更好标签名属性后,再去双击标签或按钮进入到预设事件。

第50课 超链接标签(LinkLabel)

LinkLabel 超链接标签

linkLabel1.LinkVisited =true;//已浏览(链接默认变为紫色)
 System .Diagnostics .Process .Start (@"c:\");//打开C盘  或用代码System .Diagnostics .Process .Start ("c:\\");
 System .Diagnostics .Process .Start ("http://www.ruoran.me");//打开若然小站
 System .Diagnostics .Process .Start ("Notepad");//打开记事本 系统默认可不写具体路径

第51课 文本框(TextBox)

TextBox 文本框

文本框属性 multiline : False/True 是否为多行编辑
AccptsReturn 多行编辑控件中是否允许输入回车符换行。
ReadOnly 是否只读
Scrolbars 滚动条
PasswordChr 密码替代显示字符

选择窗体属性AcceptButton (无)选择为Button1,则敲击Enter按键等同于鼠标点击Button1

if (textBox1.TextLength != 0) // textBox1.TextLength 文本框中的字符长度

第52课 单选按钮(RadioButton)只能选中一个

属性:Checked 指示单选按钮是否选中。
事件:CheckedChanged 每当“checked”属性更改值时发生。

第53课 复选按钮(CheckBox)

属性:Checked 指示复选按钮是否选中。
属性:CheckState Unchecked/Checked/Indeterminate。不是bool类型的
Unchecked 未选中 Checked状态为false
Checked 选中 Checked状态为true
Indeterminate 半选中 Checked状态为true

第54课 数字输入框(NumericUpDown)和群组框(GroupBox)

  • 数字输入框(NumericUpDown)

属性:Value 当前值。
Increment 每单击一下按钮增加或减少的数值(默认1)
Maximum 指示数值up-down控件的最大数值
Minimum 指示数值up-down控件的最小数值
UpDownAlign 上移和下移按钮的布局位置
事件:ValueChanged 每当up-down值更改值时发生。

用数字输入框控制lable1标签字体大小
int FontSize =Convert .ToInt32 (numericUpDown1 .Value );
Font Myforn=new Font("宋体",FontSize );
label1 .Font =Myforn ;

  • 群组框(GroupBox)

定义多组选框

第55课 面板(Panel)

与群组框区别:群组框可以有标题,面板可以有滚动条。

AutoScroll True/False 指示当控件内容大于它的可见区域是否自动显示滚动条
BackgroundImage 背景图片

textBox1 .Text =textBox1 .Text .Substring (0,textBox1 .Text .Length -1); //退格键, substring(x,y) 截取从x到y的字符段

x= Convert .ToInt32 (textBox1 .Text);

第56课 鼠标事件处理(Mouse)

事件 >双击进入所要发生具体事件代码编写
Click 单击组件时发生
MouseEnter 在鼠标进入控件可视部分发生
MouseLeave 在鼠标离开控件可视部分发生
MouseClick 单击鼠标时发生 与Click类似
MouseDoubleClick 双击鼠标时发生(按钮里没有,窗体有)
MouseDown 在组件中按下鼠标时发生
MouseUp 在组件中松开鼠标时发生
MouseHover 当鼠标在控件内保持静上一段时间发生 约0.5s 不要求单击
MouseMove 鼠标指针移过组件时发生

Color color=Color.Black ;
bool dwg=false ;
int  size=6;
     void MainFormMouseMove(object sender, MouseEventArgs e)   //鼠标指针移过组件时发生
        {
label1 .Text ="X:"+e .X+"    Y:"+e.Y ;//e.X-x轴坐标 ,e.Y-y轴坐标
if (dwg ==true )
            {
Graphics gr =CreateGraphics ();     //定义画图程序gr
SolidBrush br=new SolidBrush(color );  //定义笔刷br,  颜色为color  
   gr.FillEllipse(br,e.X ,e.Y ,size ,size ); // 画图
            }
        }

第57课 键盘事件处理(Keybox)

事件:KeyPress 在控件具有焦点且用户按下并释放某个键后发生
KeyDown 按下键时发生
KeyUp 松开键时发生

e.KeyChar 按下键盘获取的字符
e.Alt Atl 键
e.Control Ctrl 键
e.Shift Shift键

e.KeyCode 只能显示一个键 如D
e.KeyData 能同时显示多个键 如 Alt ,D
e.KeyValue 对应的键盘值 如(Alt对应值)18

void MainFormKeyPress(object sender, KeyPressEventArgs e)
{label1 .Text +=e.KeyChar;//标签中显示键入的字符

第58课 图形框(PictureBox)

属性:image 在图形框中显示的图像 可以导入多张照片
定义方式 pictureBox1.Image = 图形框.Properties.Resources.ca1;

  • SizeMode 控制图形框将如何处理图像位置和控件大小

             normal 正常模式,,图片在图形框的左上角
             StrechImage  图像跟图形框大小一样
             AutoSize   图形框跟图像大小一样    
              centerImage  图像1:1正中显示
              zoom  缩放形式完整显示
namespace 图形框
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        int n = 1;
        private void pictureBox1_Click(object sender, EventArgs e)
        {
            n++;
            if (n % 2 == 1)
            {  pictureBox1.Image = 图形框.Properties.Resources.ca1;
            label1.Text = "单击图片查看答案"; }
            else
               { 
pictureBox1.Image = 图形框.Properties.Resources.ca2;
                label1.Text = "单击图片返回原图"; 
}
        }
    }
}  

第59课 列表框(ListBox)

属性: Items 列表框中的项
SelectionMode:None无法选择选项、One 单选、MultiExtended 单击进行多选、MultiExtended 可多选 (需要利用ctrl/shift)
MultiColumn :指示值是否应在列中水平显示

 private void listBox1_SelectedIndexChanged(object sender, EventArgs e)  //当选项发生改变时发生(从双击列表框进来)
        {
            label1.Text = listBox1.SelectedItem.ToString();//SelectedItem 将选项值赋予label1.Text
        }  

 switch (listBox1.SelectedIndex)    //SelectedIndex 选择0~n返回0~n
            {
                case 0: button1.Text = "北京";break;
                case 1: button1.Text = "天津"; break;
                case 2: button1.Text = "福州"; break;
                case 3: button1.Text = "德化"; break;
                default:button1.Text = "选中了其他城市"; break;
            } 

添加列表项
listBox1.Items.Add(textBox1.Text); //将textbox1中的项添加到listBox中

textBox1.Clear();

移除列表项
if (listBox1.SelectedIndex >= 0) //可以写>-1 选项从0开始
listBox1.Items.RemoveAt(listBox1.SelectedIndex);

清空列表项
listBox1.Items.Clear();

第60课 复选列表框CheckListBox

派生于 与listbox区别 :前面有方框 可以多选 双击复中
属性:CheckOnClick 指示复选框是否应在首次单击某项时切换 True/Flase
双击复选列表框 进入SelectIndexChang事件 选中某项即发生
打勾选中 才发生的事件为 :ItemCheck

void CheckedListBox1ItemCheck(object sender, ItemCheckEventArgs e)
        {
if(e.NewValue == CheckState.Checked ) //检查复选列表框
            {
switch (e.Index )
                {
case 0:label1 .Text ="中国";break;
case 1:label2 .Text ="美国";break;
case 2:label3 .Text ="上海";break;
case 3:label4 .Text ="福州";break;
case 4:label5 .Text ="德化";break;
case 5:label6 .Text ="厦门";break;
  }
            }
else 
            {
switch (e.Index )
                {
case 0:label1 .Text =null;break;  //null为空
case 1:label2 .Text ="";break;
case 2:label3 .Text ="";break;
case 3:label4 .Text ="";break;
case 4:label5 .Text ="";break;
case 5:label6 .Text ="";break;
                }
            }
        }

第61课 下拉列表框ComboBox

可以手动输入

DropDownStyle :DropdownList 只能选择不能输入
Sorted :False 对集合排序

     void ComboBox1SelectedIndexChanged(object sender, EventArgs e)
        {
switch (comboBox1 .SelectedIndex )
            {case 0: label1 .ForeColor = Color .Black ;break ;   // label1 .ForeColor 字体颜色 
case 1: label1 .ForeColor = Color .Red  ;break ;    
case 2: label1 .ForeColor = Color .Yellow ;break ;
case 3: label1 .ForeColor = Color .Green ;break ;
            } 
        }

第62课 列表视图ListView

LargeImageList:大图标
SmallImageList:小图标
Items 项目集合(可设定组别,及详细列表中的项(SubItems))
Column 详细列表中显示的列
Group:ListView 中的组

事件:ItemActivate 在激活一项时发生
ColumnClick 在单击列标头时发生

listView1.View = View.Tile;/ List;/LargeIcon;/SmallIcon;/Details; 平铺/列表/大图标/小图标/详细
string myDoc = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); 获取我的文档/MyMusic我的音乐/MyPicture我的图片 文件夹的位置;

      private void listView1_ItemActivate(object sender, EventArgs e)
        {
            string myDoc = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
            string mypics = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures );
            string mymusic = Environment.GetFolderPath(Environment.SpecialFolder.MyMusic );
            switch (listView1.SelectedIndices [0] )
            {
                case 0:System.Diagnostics.Process.Start(myDoc);break;
                case 1: System.Diagnostics.Process.Start(mymusic); break;
                case 2: System.Diagnostics.Process.Start(mypics); break;
                case 3: System.Diagnostics.Process.Start("IExplore"); break;
                case 4: System.Diagnostics.Process.Start("Calc"); break;
            }
        }  
 
//在单击列标头时发生对详细列表排序
        private void listView1_ColumnClick(object sender, ColumnClickEventArgs e)
        {
            if (listView1.Sorting == SortOrder.None)
                listView1.Sorting = SortOrder.Ascending;
            else if (listView1.Sorting == SortOrder.Ascending)
            listView1.Sorting = SortOrder.Descending;
            else listView1.Sorting = SortOrder.Ascending;
        }  

第63课 树状视图TreeView

第64课 控件布局

锚定 Anchor 文本框边缘跟随边框缩小放大
停靠Dock 靠在窗体的左右上下

分别为横向:对齐网格|左/中/右对齐 |纵向:上/中/下对齐 | 宽度/高度/大小相同 |水平/纵向间距相同 | 置顶/底

button2.SendToBack(); //置于底端

无置顶语法,可通过添加panel方式间接置顶控件
button3.SendToBack();
panel1.SendToBack();
button2.SendToBack();
button1.SendToBack();

button1/2/3及panel1的属性Dock 均设定为bottom

第74课 委托

delegate void xx(string name)
由定义的东西来替代一些方法。
static void xxx(string name)

其他 跳转新窗口

if ((textBox1 .Text =="yang")&&(textBox2 .Text =="2016"))
            { this.Hide();       //隐藏该窗口
               Form myform = new Form1();    //新建myform窗口,对应系统窗口名为Form1()
               myform.Show();  //显示myform
            }
else 
MessageBox .Show ("您输入的用户名或密码有误");

子窗口返回
     void Button1Click(object sender, EventArgs e)
        {
Form zz=new MainForm();
            zz.Show() ;
this .Close() ;
        }

边框透明/窗体透明/背景透明:
给窗体设置一个背景色,然后设置窗体TransparencyKey属性和背景色一个颜色,然后窗体就是透明的了//
按纽的可见性 button.visible=false/true;
如果工具件的尺寸无法修改 可利用panel 对其区域显示进行限制。

Comments
Write a Comment