正则表达式验证手机号码格式
private void button1_Click(object sender, EventArgs e)
{
if (!IsHandset(textBox1.Text))//验证手机号是否正确
{ MessageBox.Show("手机号不正确!!!"); }//弹出消息对话框
else { MessageBox.Show("手机号正确!!!!!"); }//弹出消息对话框
}
/// <summary>
/// 验证手机号是否正确
/// </summary>
/// <param name="str_handset">手机号码字符串</param>
/// <returns>返回布尔值</returns>
public bool IsHandset(string str_handset)
{
return System.Text.RegularExpressions.Regex.使用正则表达式判断是否匹配
IsMatch(str_handset, @"^[1]+[3,8,5]+\d{9}$");
}
点击‘验证手机号’,进入IsHandset (文本内容)方法使用正则表达式判断格式再返回给点击事件方法,根据返回结果提示
输入错误的手机号码提示手机号码格式不正确
输入正确的手机号码提示手机号码格式正确
正则表达式验证身份证格式
private void button1_Click(object sender, EventArgs e)
{
if (!IsIDcard(textBox1.Text.Trim()))//验证身份证号是否正确
{ MessageBox.Show("身份证号不正确!!!"); }//弹出消息对话框
else { MessageBox.Show("身份证号正确!!!!!"); }//弹出消息对话框
}
/// <summary>
/// 验证身份证号是否正确
/// </summary>
/// <param name="str_idcard">身份证号字符串</param>
/// <returns>返回布尔值</returns>
public bool IsIDcard(string str_idcard)
{
return System.Text.RegularExpressions.Regex.//使用正则表达式判断是否匹配
IsMatch(str_idcard, @"(^\d{18}$)|(^\d{15}$)");
}
点击‘验证身份证’,进入IsIDcard (文本内容)方法使用正则表达式判断格式再返回给点击事件方法,根据返回结果提示
输入错误的身份证格式提示身份证格式不正确
输入正确的身份证格式提示身份证格式正确
开发工具与关键技术: Visual studio C#/WCF
作者:龙汝鹏
撰写时间:2019年04月08日
Attribute赋值语法
开发工具与关键技术:C#/WPF
作者:龙汝鹏
撰写时间:2019年04月18日
标签语法=对象元素(Object Elements)
每个标签即是一个对象元素,将被解析为一个WPF Framework(主要来自PresentationFramework.dll)中的类的实例。下面的代码就是一个对象元素,运行时会被解析为一个Button对象实例。
运行效果
Attribute赋值语法
普通字符串赋值。下面代码给Button的Property和Event赋值。字符串将被通过包装好的TypeConverter来转换成对象。TypeConverter使用C#的Attribute技术来实现的。
<Button x:Name="btnClick" Content="点我"
HorizontalAlignment="Left" Margin="212,136,0,0"
VerticalAlignment="Top" Width="75" Click="btnClick_Click"/>
标记扩展赋值。用花括号这种方式赋值就叫标记扩展赋值。常用的地方是在用到绑定和资源的时候。
<Button x:Name="btnClick" Content="点我" Command="{Binding Click}"
HorizontalAlignment="Left" Margin="212,136,0,0"
VerticalAlignment="Top" Width="75" />
属性元素赋值。
<Button x:Name="btnClick1" HorizontalAlignment="Left" Margin="212,160,0,0"
VerticalAlignment="Top" Width="75" Click="btnClick_Click">
<Button.Content>
点我
</Button.Content>
</Button>
内容赋值。控件要有Content这个属性,要继承自ContentControl,才能赋值。夹在标签中间。
<Button>点我</Button>
集合赋值。下面例子是给StackPanel.Children这个属性赋值一个集合,被省略了。这个属性的类型是UIElementCollection。 WPF支持一些省略的写法,在实际开发中运用,可以使XAML代码更简洁。
<StackPanel>
<Button>点我</Button>
<Button>点我1</Button>
</StackPanel>
转自:黄昏前黎明后
Grid网格面板
开发工具与关键技术:C#/WPF
作者:龙汝鹏
撰写时间:2019年04月18日
Grid网格面板,以表格形式布局元素,对于整个面板上的元素进行布局,有效地解决多行之间、多列之间位置的一致性。Grid很像网页中的Table,定义一个网格,需要定义行、列,划分单元格,坐标从(0,0)开始。列宽和行高,分别可以在ColumnDefinition、RowDefinition里面指定Width、Height的值。首先定义网格,然后定义元素,并指定元素所在的单元格。如果不定义单元格,默认将元素放到第一个单元格(0,0)。自动长度——自动匹配列中最长元素的宽度;比例长度——表示占用剩余的全部宽度;两行都是,将平分剩余宽度;一个2*,一个*,表示前者2/3宽度。使用Grid.ColumnSpan和Grid.RowSpan附加属性可以让相互间隔的行列合并,使用GridSplit控件结合Grid控件实现类似于WinForm中SplitContainer的功能。
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="44*" />
<ColumnDefinition Width="141*" />
<ColumnDefinition Width="218*" />
<ColumnDefinition Width="122*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="62*" />
<RowDefinition Height="70*" />
<RowDefinition Height="102*" />
<RowDefinition Height="116*" />
</Grid.RowDefinitions>
<Button Content="Button" Grid.Row="1" Height="23" HorizontalAlignment="Left" Margin="16,18,0,0"
Name="button1" VerticalAlignment="Top" Width="75" Grid.Column="1" />
<Button Content="Button" Grid.Column="1" Grid.ColumnSpan="2" Grid.Row="2" Height="23"
HorizontalAlignment="Left" Margin="107,38,0,0" Name="button2" VerticalAlignment="Top" Width="75" />
<Button Content="Button" Grid.Row="3" Height="23" HorizontalAlignment="Left" Margin="16,38,0,0"
Name="button3" VerticalAlignment="Top" Width="396" Grid.ColumnSpan="3" Grid.Column="1" />
</Grid>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="102" />
<ColumnDefinition Width="161" />
<ColumnDefinition Width="15" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="66" />
<RowDefinition Height="96" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
</Grid>
转自:1生有你