首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

请帮忙!关于Edit控件的KeyUp事件解决办法

2012-03-25 
请帮忙!关于Edit控件的KeyUp事件小弟想在Edit控件中日期,例如:如果输入的月份超过1-12,则弹出一个对话框,

请帮忙!关于Edit控件的KeyUp事件
小弟想在Edit控件中日期,例如:如果输入的月份超过1-12,则弹出一个对话框,提示要输入正确的月份,然后自动把Edit控件的Text设置为空,重新输入月份。我用KeyUp事件处理的,相关代码如下:
void __fastcall TForm1::Edit3KeyUp(TObject *Sender, WORD &Key,
  TShiftState Shift)
{
  if(Edit3->Text.Length()>=2) //自动切换输入框
  {
  if((Edit3->Text<=12)&&(Edit3->Text>=1))
  Edit4->SetFocus(); //如果合法,则切换到下一个Edit控件
  else{
  MessageBox(Handle,"请输入正确的月份","警告",MB_OK|MB_ICONQUESTION); //否则弹出警告对话框,把Edit3重新 清空,等待用户输入。
  Edit3->Text=="";  
  Edit3->SetFocus();
  return;
  }
  }
}
我执行这段代码的时候,如果输入不正确的月份,就会弹出警告对话框,按回车之后,放开按键,又弹出警告对话框,而且Edit3->Text根本就没清空,请问,如果想达到我的要求,需要怎么改动代码呢??
======================================================================================

[解决办法]

C# code
   if(Edit3->Text.Length()>=2)          //自动切换输入框   {      if((Edit3->Text <=12)&&(Edit3->Text>=1))      {          Edit4->SetFocus();                  //如果合法,则切换到下一个Edit控件      }      else      {          MessageBox(Handle,"请输入正确的月份","警告",MB_OK|MB_ICONQUESTION);  //否则弹出警告对话框,把Edit3重新 清空,等待用户输入。          Edit3->Clear();  //注意这里!         Edit3->SetFocus();      }   } 

热点排行