C# Display a tooltip on disabled textbox (Form)

前端 未结 3 1669
野性不改
野性不改 2020-12-19 11:38

I am trying to get a tooltip to display on a disabled textbox during a mouse over. I know because the control is disabled the following won\'t work:

private          


        
相关标签:
3条回答
  • 2020-12-19 11:51

    MouseHover wont fire if control is disabled. Instead you can check in Form MouseMove event whether you hover the textbox

        public Form1()
        {
            InitializeComponent();
            textBox1.Enabled = false;
            toolTip.InitialDelay = 0;
        }
    
        private ToolTip toolTip = new ToolTip();
        private bool isShown = false;
    
        private void Form1_MouseMove(object sender, MouseEventArgs e)
        {
            if(textBox1 == this.GetChildAtPoint(e.Location))
            {
                if(!isShown)
                {
                    toolTip.Show("MyToolTip", this, e.Location);
                    isShown = true;
                }
            }
            else
            {
                toolTip.Hide(textBox1);
                isShown = false;
            }
        }
    

    enter image description here

    0 讨论(0)
  • 2020-12-19 11:51

    You can also drag a ToolTip object from the Toolbox in designer onto the form. Then in the code you just call SetToolTip() and pass in the button or text box etc. you want the tool tip to assign to and the text you want it to show.

    myToolTip.SetToolTip(myTextBox, "You just hovered over myTextBox!");
    
    0 讨论(0)
  • 2020-12-19 12:13

    Late to the party, but had the same problem and found a better solution: you can just wrap your TextBox in another Item and put a ToolTip on it like:

    <Grid ToolTip="ToolTip to display">
                <TextBox  IsEnabled="False" Text="Text to display" />
    </Grid>
    
    0 讨论(0)
提交回复
热议问题