---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
在本节中主要总结关于winform知识点的例子
1.计算矩形的面积
利用视图-》tab键顺序,可以设置窗体中的所有控件的tab键顺序
private void btnCompute_Click(object sender, EventArgs e)
{
try
{
double length = Convert.ToDouble(tbLength.Text);
double width = Convert.ToDouble(tbWidth.Text);
double result = length * width;
lbResult.Text = result.ToString();
}
catch(Exception ex)
{
MessageBox.Show("计算时发生错误,错误原因"+ex.Message);
}
}
2.计算两个文本框中的累加和。
private void button1_Click(object sender, EventArgs e)
{
int number1, number2;
if (int.TryParse(tb1.Text, out number1) == false)
{
MessageBox.Show("第一个加入有问题");
tb1.Focus();
tb1.SelectAll();
return;
}
if (int.TryParse(tb2.Text, out number2)==false)
{
MessageBox.Show("第二个加入有问题");
tb2.Focus();
tb2.SelectAll();
return;
}
int sum = number1 + number2;
tbResult.Text = sum.ToString();
}
private void tb2_TextChanged(object sender, EventArgs e)
{
tbResult.Text = "";
}
3.在第二题的基础上计算两个数之间的数的累加和,并且第二个数要大于第一个数
界面不做修改,实现代码如下:
private void button1_Click(object sender, EventArgs e)
{
int number1, number2;
if (int.TryParse(tb1.Text, out number1) == false)
{
MessageBox.Show("第一个加入有问题");
tb1.Focus();
tb1.SelectAll();
return;
}
if (int.TryParse(tb2.Text, out number2)==false)
{
MessageBox.Show("第二个加入有问题");
tb2.Focus();
tb2.SelectAll();
return;
}
if (number2 < number1)
{
MessageBox.Show("第二个数必须大于第一个数");
tb1.Focus();
tb1.SelectAll();
return;
}
int sum =0;
for (int i = number1; i <= number2; i++)
{
sum += i;
}
tbResult.Text = sum.ToString();
}
private void tb2_TextChanged(object sender, EventArgs e)
{
tbResult.Text = "";
}
private void tb1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar < '0' || e.KeyChar > '9')
{
e.Handled = true; //此时用户不能输入
}
TextBox txtbox = (TextBox)sender;
if (txtbox.SelectionStart == 0 && e.KeyChar == '0')
{
e.Handled = true;
}
if (e.KeyChar == 8) //如果是退格键
{
e.Handled = false;
}
}
4.wpf连连看窗体设计
核心实现的代码使用了一个grid进行布局:
<Grid Name="gridName" Grid.Row="1" DockPanel.Dock="Top">
</Grid>
C#实现代码为:
private void Window_Loaded(object sender, RoutedEventArgs e)
{
//生成grid的列和行
for (int i = 0; i < 10; i++)
{
ColumnDefinition col = new ColumnDefinition();
gridName.ColumnDefinitions.Add(col);
RowDefinition row = new RowDefinition();
gridName.RowDefinitions.Add(row);
}
Random random = new Random();
for (int j = 0; j < 10; j++)
{
for (int k = 0; k < 10; k++)
{
int imageIndex = random.Next(1,10);
Image image = new Image();
image.Source = new BitmapImage(new Uri("Images/"+imageIndex+".png", UriKind.Relative));
Grid.SetColumn(image,k);
Grid.SetRow(image, j);
gridName.Children.Add(image);
}
}
}
---------------------- ASP.Net+Unity开发、 .Net培训、期待与您交流! ----------------------详细请查看: www.itheima.com