C#学习笔记
第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 对其区域显示进行限制。