1. NumericUpDownDemo例程的Bug:①在NumericUpDown控件中可手动输入小数或负数;②在NumericUpDown控件中可手动输入越界数。解决方案:①添加NumericUpDown的KeyUp事件的处理方法,代码如下:
switch(e.KeyData)
{
///<summary>
///只需添加对于’.’和’-‘的处理
///</summary>
case Keys.Subtract:
case Keys.OemMinus:
MessageBox.Show(Form.ActiveForm,"/'-/' is not an available letter!","Input Error",MessageBoxButtons.OK,MessageBoxIcon.Error);
numericUpDown1.ResetText();
break;
case Keys.Decimal:
case Keys.OemPeriod:
MessageBox.Show(Form.ActiveForm,"/'./' is not an available letter!","Input Error",MessageBoxButtons.OK,MessageBoxIcon.Error);
numericUpDown1.ResetText();
break;
default:
break;
}
②处理方法类似,略。
2. ScrollBarDemo例程中,当调整窗体大小时,PictureBox却还以原大小呆在原位置不动,怎样让它的大小随窗体大小改变而自动变化呢?改进方法:①将PictureBox的Anchor属性设为Top, Bottom, Left, Right, 将VScrollBar的Anchor属性设为Bottom, Right, 将HScrollBar的Anchor属性设为Bottom, Left, Righ;②对于Form. SizeChanged事件添加如下方法:
/// <summary>
/// 消除重影
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form1_SizeChanged(object sender, System.EventArgs e)
{
this.Refresh();
}
试试看效果怎样吧:)(建议换一张大图片)