第一章
1.创建windows窗体应用程序。
2.Form1.cs窗体文件,程序员对窗体编写的代码一般都存放在这个文件中
3.Form1.Designer.ce:窗体设计文件,其中的代码是有由VisUal Studio自动生成的,一般不需要修改
4.Form1.resx:资源文件,用来配置当前窗体所使用的字符串,图片等资源
5.Program.cs:主程序文件,其中包含程序入口的Main()方法。
6.Label 创建属性 TextBox 创建文本框 ComboBox 创建自定义文本框 Butto 创建按钮
7.Click 查找属性
//new 个对象
8. Form3 cc = new Form3();
//左边带有值的属性付给 共有的变量
cc.name = textBox1.Text;
cc.Pwd = txtBox.Text;
cc.Show();
this.Hide();
private void Form3_Load(object sender, EventArgs e)
{
lblcnm.Text =lblcnm.Text+ name;
lblTt.Text = lblTt.Text + Pwd;
}
DialogResult result= MessageBox.Show("是否取消!?","提示~!@#¥%……&*()——+",MessageBoxButtons.YesNo,MessageBoxIcon.Error);
if (result == DialogResult.No)
{
this.Close();
}
9.Trim()去空格 MessageBox.Show("") 按取消的提示语句 .Focus()就是获得焦点的意思比如:function A(){ if(txtUser.text.value==null){ alert("请输入用户名"); txtUser.focus(); return;}意思就是当你没有输入txtUser文本框中的内容时,自动获得此文本框的焦点,然手光标移动到此文本框中
10.MessageBoxButtons.(按钮形式) MessageBoxIcon.(报错图标)
11.State 状态 object 可以转换成任何类型.所以适用于所有类型值的比较.
本章总结
11.使用窗体的属性设计窗体,窗体常用的属性有FormBorderStyle(窗体形状 调大调小) StartPosition(窗体的位置) WindowState(窗体的大小)等。
12.使用标签(Label)(lbl) 文本框(TextBox)(txt) 组合框(ComboBox)(cob) 按钮(Button)(btn) 设计窗体界面。这些控件有通常有属性 如Name Text Enable 也有各自特有大的属性。
13.编写事件处理程序:即针对用户触发的事件编写合适的处理方式。
14.使用MessageBox弹出四种消息框 使用DialogResult获得消息框的返回值。
15.使用窗体Show()方法和Hide()方法实现窗体的显示和隐藏。
16.结合ADO.NET和WinForms编写简单的数据库处理程序。
17.在窗体定义字段 实现窗体的数据传递。。
猜数小游戏
public partial class Form1 : Form
{
int d;//在控制台输入的数
int h;//返回值强转 h
int c;//计算错误次数
public Form1()
{
InitializeComponent();
}
public int show()
{
Random r = new Random();//new一个随机数
int num= r.Next(1,100);//返回一个1~100的整数 (不包括100)
txtZai.Text = Convert.ToString(num);
return num;
}
private void Form1_Load(object sender, EventArgs e)
{
h = show();
}
private void btnNew_Click(object sender, EventArgs e)
{
btnCk.Enabled = true;//开始能点击!!
}
private void btnCk_Click(object sender, EventArgs e)
{
d = int.Parse(txtSh.Text);
if (d == h)
{
MessageBox.Show("恭喜你猜对了 奖励老婆一个!!!一共猜了" + c, "温馨提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk);
}
else if (h > d)
{
MessageBox.Show("小了! 在猜~", "温馨提示", MessageBoxButtons.OKCancel);
c++;
}
else if (h < d)
{
MessageBox.Show("大了! 在猜~", "温馨提示", MessageBoxButtons.OKCancel);
c++;
}
}
}
}
第二章
构建布局良好的Windows程序
1.方法
Application.Exit() 退出整个应用程序,关闭所有有窗体 。
this.Close() 关闭当前窗体。他们都会触发FormClosed事件和FromClosing事件。
RedioButton单选框 (如男和女) if(RedioButton.checked)(单选按钮是否被标记);
。
2.
MenuStrip (创建菜单栏)
ToolStrip(创建工具栏)(DisplayStyle:是否显示图像和文本) (Image :修改图片 更换图片) (ImageScaling:是否调整图像大小) (TextImageRelation :图像与文本的相对位置:谁在前谁在后)
3.ToolStrip 工具栏的类型 (Button:按钮 ,Label:标签 ,SplitButton:分割按钮 ,
DropDownButton:下拉按钮 ,
Separato:分割线 ,
ComboBox :组合框 ,
TextBox:文本框 ,
ProgerssBar:进度条 ) 前面都有ToolStrip做前缀。
4.属性:::Enable (true,False)程序运行之后不可用 ,
ReadOnly(True,False)只读状态 ,
PasswordChar (******)设置替代文字,
Checked(True,False 默认光电在那个属性上),
Anchor(拉动边框平铺布局,美观效果),
Multiline(多行文本框),
Dock(将控件停靠在窗体的边缘或填充窗体,当某控件需要充满 整个窗体时,设置控件的Dock属性是最快捷的方式。。)
ShowShortcutKeys(true)设为快捷件;
ShortcutKeys(Ctrl+N)快捷件的设定;( 如菜单(&N))
5.工具类::
RedioButton(rbtn)(单选按钮 如:男和女),
DateTimePicker(dtb)(日期控件)常用属性{Value:空间的当前日期 ,
MaxDate:最大日期,MinDate:最小日期}, GroupBox(分组框“可以看见的”) ,
Panel(面板,最为容器使用“不可看见”)
GroupBox (设置标题栏)
6.SDI:弹窗口应用程序(比如记事本 word等)
MDI:多窗口应用程序(比如Excel、浏览器等,至少由两个窗口组成 ,包括顶级框架窗口(也叫MDI容器),其他文档窗口(也叫子窗口))
创建MDI的步骤(1.父窗体的IsMDIContainer 属性设为true
2.子窗体的MdiParent属性设为父窗体
MdiParent.this;设置当前父窗体。
)
7. if (addf.ShowDialog() == DialogResult.OK)
{
}
1).执行addf.ShowDialog(),addf 窗体作为模式窗体打开,
2).当addf 窗体打开后,在此窗体上进行操作,对Dialogresult的值更改或者不变。
3).关闭addf 窗体时,执行if里的对比。判断DialogResult中的值是否为OK,是就执行下面的语句。
最后,ShowDialog () 默认值不是OK。如果你不设置DialogResult 值,此处不会满足条件
8.show()方法ShowDialog()的区别的
sho()方法 可以执行多个窗口 可以任意关闭窗口 而showDialog()方法在执行一个窗口的时候 要想访问下一个窗口必须关闭当前窗口 才能访问下一个窗口。
9.文本Text.Items.Add("请选择")
文本Text.SelectedIndex=0;{输出多条文本信息}
11.where <> group by<> having <> order by<>。
12.建立子窗体窗口列表的步骤
1)设置父窗体菜单控件的MdiWindowListItem属性 ,选定为 窗口菜单项。
第三章 使用Listview控件展示数据
1) 工具:ListView视图框
imageList 图像的集合 增加的图片
ContextMenuStrip 快捷菜单控件
第五章
TreeNode是treeView1.SelectedNode的返回值。
DataTable :数据表
DataColumn :数据列
DataRow :数据行
DataSource :数据源
ValueMember:实际值
DisplayMember:显示的值
SelectionMode FullRowSelect 一整行
在前面添加一个全部 关键的代码
DataRow row =ds.Tables["Grade"].NewRow();
row[0]=-1;
row[1]="全部";
ds.Tables["Grade"].Rows.InsertAt(row,0);
ComboBox 不可修改的属性 (DropDownStyle)改成 DropDownList。
SelectdeValue:获取值。
DataSource :DataGridView的数据源(希望绑定的文本)
AutoGenerateColumns (设置DataGridView是否自动创建列= )
SqlCommandBuilder cb = new SqlCommandBuilder(da);
da.Update(ds);
MessageBox.Show("修改成功");
第六章
属性名称
selectedNode (选中的节点)
Level (节点的深度(从0开始))
Nodes (编辑的集合)
事件名称
AfterSelect (节点选中后发生)
DataView (视图对象)
创建数据视图对象
导入System.Data命名空间
语法:DataView 对象名 = new DataView(数据表);
实例:DataView dv =new DataView(dt(DataSet).Tables["Student"]);
(也可以使用无参结构函数来创建DataView,但是用前必须设置Table属性)
使用RowFilter(过滤行数)属性
筛选的条件
类似查询语句中的WHERE后面的部分
string.Format(占位符)。
使用Sort属性
排序的条件
类似查询语句中ORDER BY 后面部分
dgvStudent.SelectedRows[0].Cells["StudentNo"].Value
SelectedRows(所选中的行数)
Cells(行里面所有的单元格)
Value(单元格的值)
利用TreeView搜索关键代码
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
//string a = treeView1.SelectedNode.Text;
//int num = treeView1.SelectedNode.Level;
//MessageBox.Show(a + ":" + num.ToString());
// TreeNode node = treeView1.SelectedNode.Level;
if (treeView1.SelectedNode != null)
{
DataView dv = new DataView(ds.Tables[0]);//利用DataView方法来实现
if (treeView1.SelectedNode.Level == 1)
{
string num = treeView1.SelectedNode.Text;//获取treeView的点击值
dv.RowFilter = string.Format("GradeId='{0}'", num);//设置筛选条件
}
else if (treeView1.SelectedNode.Level == 2)
{
string sex = treeView1.SelectedNode.Text;//获取treeView的点击值
string gradename = treeView1.SelectedNode.Parent.Text;//获取上一级父级的索引
dv.RowFilter = string.Format("Sex='{0}'and GradeId={1}", sex,gradename);//设置筛选条件
}
dataGridView1.DataSource = dv;//重新绑定数据源
}
}
//选中赋值
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
string no = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
string hangban = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();
DateTime chu = Convert.ToDateTime( dataGridView1.SelectedRows[0].Cells[2].Value);
string mudidi = dataGridView1.SelectedRows[0].Cells[3].Value.ToString();
int piaojia = Convert.ToInt32( dataGridView1.SelectedRows[0].Cells[4].Value);
txtHao.Text = no;
txtgongsi.Text = hangban;
txtChu.Text = cmbGo.Text;
txtmudidi.Text = cmbmudidi.Text;
txtDaoda.Text = Convert.ToString(chu);
txtdaodashijian.Text = mudidi;
txtjiage.Text = piaojia.ToString();
}
// button4.Visible = true;//隐藏拼点个按钮
// listView3.Location = listView2.Location;
//dataGridView1.Location = listView1.Location;
// listView1.Dock = DockStyle.Fill;//填充图片
运用数组 赋值
foreach (string item in str)
{
this.dataGridView1.Rows.Add(item);
}
ji = dataGridView1.SelectedRows[0].Cells["Column2"].Value.ToString();
for (int i = 0; i < FrmMain.song.Length; i++)
{
if (FrmMain.song[i]==null)
{
FrmMain.song[i] = ji;
break;
}
insert into MobileInFo(BrandID ,Type,Price,Size,Weight,Style) values ('"+id+"','"+txtXing.Text+"','"+txtJia.Text+"','"+txtChi.Text+"','"+txtHog.Text+"','"+txtZhong.Text+"')";
查询:select 字段名 from 表名 where 条件;
增加:insert into 表名(字段1,字段2,...) values('值1','值2',....) where 条件;
修改:update 表名 set 字段名='值' where 条件;