我的原意是實現這個功能,比如客戶名的一個textbox,當用戶把焦點放在這個textbox上面的時候,彈出一個窗體然后選擇一個值返回給這個文本框,現在的問題是,關閉彈出的這個窗體后,又彈出一個窗體,因為這個窗體一直都獲得焦點了,怎樣讓這個窗體只彈出一次?

解决方案 »

  1.   

    同意
     设置个全局变量
      boolean flag =true;获得焦点事件里 if(flag)
     {
       //弹出
    }else
     {
        //其他操作
     }
      

  2.   

    在OnFocus事件里面
    1. 弹窗口
    2. 设定一个bool=false在OnBlur里面设定bool=true
      

  3.   

    textbox1有onfocus事件么?我的是winform~~~
    textbox1的gotfocus弹出的窗体真的没有办法关闭么?
      

  4.   

    textbox.enabled=false
      
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 
    http://feiyun0112.cnblogs.com/
      

  5.   

    还有一个关键点问题是,你设置flag为true,弹出窗体设置为false,但是我等一下又返回这个窗体,又希望弹出窗体,这个时候
    flag还是为false,这样就不会再弹出窗体了
    这些问题都很难解决~
      

  6.   

    textbox1  換個事件呢?
    如用 單擊  或  雙擊
    實在不行 就在 旁邊加個按鈕  用按鈕來打開窗體啊
      

  7.   


    namespace WindowsFormsApplication2
    {
        public partial class Form1 : Form
        {
            private Form2 newform;
            public Form1()
            {
                InitializeComponent();
                newform = new Form2();
            }        private void textBox1_Enter(object sender, EventArgs e)
            {
                if (newform.IsDisposed || newform == null)
                    newform = new Form2();
                newform.Show();
            }
        }
    }
      

  8.   

    你在 gotFous 時  設置 textbox1.Tag="1"  if(textbox1.Tag== null)
    {
        textbox1.Tag="1";
        打開你的窗體;
    }
    在 LostFous 事件中, 設置 textbox1.Tag=null       失去焦點事件  不知道有沒有寫對沒有試過,你自己試一下吧
      

  9.   

    应该改成Click事件,要不然程序怎么知道你什么时候弹出窗体,什么时候不想弹出
    如果你的TextBox是第一个控件的话,那么你弹出窗体的时候会弹出两个,会不会给用户错觉?!