Как я могу показать подсказку на отключенной кнопке?

Как склеены два файла db.php и function.php, я думаю, что результат $link определяется как глобальная переменная - вам нужно использовать global для доступа к нему в пределах function:

function addItemToCatalog($var1, $var2, $var3, $var4) {
    global $link;
    ...
}

или дать функции $link явно через параметр:

function addItemToCatalog($var1, $var2, $var3, $var4, $link) {
    ...
}

34
задан Sam Mackrill 29 January 2009 в 11:26
поделиться

2 ответа

Я с тех пор адаптировал ответ BobbyShaftoe, чтобы быть немного более общий

Примечания:

  • Событие mouseMove должно быть установлено на родительском управлении (панель в моем случае)

    private void TimeWorks_MouseMove(object sender, MouseEventArgs e)
    {
        var parent = sender as Control;
        if (parent==null)
        {
            return;
        }
        var ctrl = parent.GetChildAtPoint(e.Location);
        if (ctrl != null && !ctrl.Enabled)
        {
            if (ctrl.Visible && toolTip1.Tag==null)
            {
                var tipstring = toolTip1.GetToolTip(ctrl);
                toolTip1.Show(tipstring, ctrl, ctrl.Width / 2, ctrl.Height / 2);
                toolTip1.Tag = ctrl;
            }
        }
        else
        {
            ctrl = toolTip1.Tag as Control;
            if (ctrl != null)
            {
                toolTip1.Hide(ctrl);
                toolTip1.Tag = null;
            }
        }
    
    }
    
12
ответ дан 27 November 2019 в 15:40
поделиться

Так брать на себя Ваше управление называют button1, Вы могли сделать что-то вроде этого.
необходимо сделать это путем обработки MouseMove событие формы, так как события не будут запущены из управления.

bool IsShown = false;      

void Form1_MouseMove(object sender, MouseEventArgs e)
{
   Control ctrl = this.GetChildAtPoint(e.Location);

   if (ctrl != null)
   {
       if (ctrl == this.button1 && !IsShown)
       {
           string tipstring = this.toolTip1.GetToolTip(this.button1);                 
           this.toolTip1.Show(tipstring, this.button1, this.button1.Width /2, 
                                                       this.button1.Height / 2);
           IsShown = true;
       }
   }
   else
   {
       this.toolTip1.Hide(this.button1);
       IsShown = false;
   }

}

8
ответ дан 27 November 2019 в 15:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: