首页 > 代码库 > C#人事管理系统 第二天 常用布局及控件

C#人事管理系统 第二天 常用布局及控件

TextBox文本框

<TextBox IsReadOnly=”true”/> //只读

<TextBox TextWrapping=”Wrap”/ > //折叠-多行文本

<TextBox MaxLength=”5”/> //最大长度

 

PasswordBox密码框

<PasswordBox Password=”admin”/>

 

可空类型(null):引用类型-自定义类、string、大部分的类

不可空类型:值类型(int 、boolean 、decimal小数 、DateTime)

在不可null类型后加?后可以为null  DateTime? d1=null;

CheckBox 复选框控件有第三种状态

IsChecked属性表示复选框是否被选中,类型为bool?

if((bool)CheckBox1.IsChecked)

{

      MessageBox.Show(“已选中”);

}

RadioButton 单选按钮控件

分组:防止互斥

<RadioButton GroupName=”第一组”/>

 

DatePicker日期列表(.NET4.5以后)

得到选中的日期:

DateTime?  value =http://www.mamicode.com/datePicker1.SelectedDate;

if(value=http://www.mamicode.com/=null){}

else{MessageBox.Show(value.ToString());}

赋值:

datePicker1.SelectedDate=DateTime.Today;//只包含年月日,Now包含时分秒

 

Image控件:图片控件

<Image Source=”img/1.jpg”/>

 

ProgressBar:进度条控件

isIndeterminate是否不确定模式;Maximum最大值;Minimum最小值

Value当前值

proBar1.Value+=10;

<ProgressBar  isIndeterminate=”true”/>

页面布局

StackPanel布局

<Grid>

      <StackPanel  Orientation=”Horizontal”> //子元素纵向排列

           <Button.Content>

                 <Image Source=”1.jpg”/>

           </Button.Content>

      </StackPanel>

</Grid>

 

<TextBlock  VerticalAlignment=”Center”/> //垂直的对其方式:居中

<TextBlock  HorizontalAlignment=”Center”/> //水平居中方式

<TextBlock  Margin=”5”/> //距离四周的宽度

Grid布局

<Grod >

      <Grid.ColumnDefinitions>  //定义两列

           <ColumnDefinition  Width=”30”/>

           <ColumnDefinition/>

      </Grid.ColumnDefinitions>

      <Grid.RowDefinitions>   //定义两行

           <RowDefinition  Height=”50”/>

           <RowDefinition/>

      </Grid.RowDefinitons>

      <Button Grid.Row=”1” Grid.Column=”1”/>

      <TextBox BackGround=”Red” Text=”hello” Grid.Column=”2” Grid.Row=”1” Grid.ColumnSpan=”2”/>  //占用两列

</Grid>

 

动态向布局中添加控件:

<StackPanel  Name=”sp1” MouseEnter=”sq1_MouseEnter/”>

在容器的鼠标移入事件中:

Button btn1=new Button(); //动态创建控件

btn1.Content=”新增的按钮”;

sp1.Children.Add(btn1); //把控件加入容器父控件的StackPanel

每次鼠标移入容器,自动添加一个button控件

 

动态生成行和列:

<Grid Name=”gridGame”>

</Grid>

在Window_Loaded事件中

for(int i=0;i<10;i++)

{

ColumnDefinition colDef=new ColumnDefinition();

gridGame.ColumnDefinition.Add(colDef);

RowDefinition rowDef=new RowDefinition();

gridGame.RowDefinition.Add(rowDef);
}

for(int i=0;i<10;i++)

{

      for(int j=0;j<10;j++)

      {

           Button btn=new Button();

           btn.Content=i+”,”+j;

                 Grid.SetRow(btn,1);//通过代码修改控件的Grid.Row属性

                 Grid.SetColumn(btn,j);

           gridGame.Children.Add(btn);

}

}

将上述button换为图片:

Image img=new Image();

img.Source=new BitmapImage(new Url(“1.jpg”,UrlKind.Relative));

Grid.SetRow(img,i);

Grid.SetColumn(img,j);

gridGame.Children.Add(Image);

随机显示一张图片:

Random random=new random();

int imgName=random.Next(1,10); //生成一个>=1 ,<10的随机数

img.Source=new BitmapImage(new Url(“images/”+imageName+”.jpg”,UrlKind.Relative));

所有的控件都可以New

关于布局的嵌套:

StackPanel 和 Grid 可以自己嵌套或相互嵌套

 

C#人事管理系统 第二天 常用布局及控件