菜单的生成
<Grid>
<Menu Height="23" Name="menu1" Width="200" HorizontalAlignment ="Left" >
<MenuItem Header =" 文件"> //一级菜单
<MenuItem Header =" 打开"> //二级菜单
<MenuItem Header =" cpp">//三级菜单
MenuItem>
MenuItem>
<MenuItem Header =" 退出">
MenuItem>
MenuItem>
<MenuItem Header =" 编辑">//一级菜单
<MenuItem Header =" 复制">//二级菜单
MenuItem>
MenuItem>
Menu>
Grid>
另外一层
<Grid>
<Button>
Button>
Grid>
显示一般都在DockPanel里面操作
<DockPanel>
<Menu DockPanel.Dock ="Top">
Menu>
<TextBox DockPanel.Dock =" Bottom">
TextBox>
DockPanel>
工具栏
<ToolBar DockPanel.Dock =" Top">
<Button Content =" 保存">
Button>
<Button Content =" 保存新建">
//工具栏使用图标
<Button>
23
<Button.Content>
<Image Source ="Images/01.bmp">
Image>
Button.Content>
Button>
<TextBox>
TextBox>
ToolBar>
title 标题
resizemode 窗口大小
windowstartLocation = 窗口开始位置
windowstate 窗口默认大小
Margin 控件距离四周的值
bool? dialogresult //如果窗口是用showDialog打开的,则给dialogresult会自动关闭窗口,并把dialogresult属性的值通过showDialog的返回值返回。
通配符???
using sysyten.win32;
OpenFileDialog ofg;
ofg.ShowDialog()
ofg.filename 文件名
ofg.initialdirectory 设置文件初始目录
ofg.Filter = "文本文件|*.txt|图片|*.jpg;*.bmp"//同时显示多个格式使用;
saveFiledialog sfg;
string picfilename = sfg.filename;
获取图片地址
image1.Source = new BitmapImage(new Uri(picfilename))//image1为另外一个显示控件的名称
focus()获取焦点
继承
class Animal
{
}
class Dog:Amnimal
{
}
Dog dog = new Dog(); //dog为一个对象
Animal al = dog;//al为一个变量
可以将一个子类的对象赋值给一个父类的变量。变量时一个标签,对象是一个实际存在的东西。
Animal al= new Dog()
click事件
sender 都是object类型
Btton btn = (Btton)sender;
数组 int[] nums = new int[3];
遍历数组 foreach(int i in nums)
{
}
集合类 泛型
List
list.Add();//添加数据
//和数据绑定有关??
list
list.Add(new Dog());
控件的可见属性。txt为控件名
txt.Visibility = System.Windows.Visibility.Collapsed;
Isenable //控件是否可用
Background //背景色 ctrl+j
textBox 的TextWrapping = "Wrap";换行属性
maxlength 用户输入的长度不超过n个字符
passwordBox 密码控件
c#中含有可null和不可null的类型
在不可null类型后面加?就可以为null
RadioButton 单选按钮
GroupName 组名
Datapicker 日期控件
DateTime? value = datapicker.selectedDate;
Datetime.Today //当前日期
DataTime.now//当前时间
Image 图片控件
ProgressBar 进度条
value 当前值
Isindaterminate 不确定模式
布局
grid布局
//要修改控件的显示位置,使用grid修改行和列,行数和列数是使用grid.columnSpan = "2",grid .rowSpan = "2"
//grid 属于附加的属性,不是行列包含的属性
horizontalAlignment 横向位置
VerticalAlignment 纵向位置
stackpanel布局
orientation 排布方式 纵向排列 横向排列
从上往下布局
//这里只能添加一个属性值,要添加多个要用StackPanel将多个属性值打包起来
添加多条东西
例如 添加图片。。
button.content >
动态添加控件
一般在load时载入
Button btn = new Button();
btn.content = "xxx";
grid.setrow(btn,i);//修改btn的行
容器名。children.add(btn);
//动态添加行
columnDefinition coldef = new columnDefinition();
容器名.columnDefinitions.Add(coldef)
//随机数生成类
Random random =new random();
random.Next(min,max);x>=min x 布局的嵌套 嵌套布局