Как склеены два файла db.php
и function.php
, я думаю, что результат $link
определяется как глобальная переменная - вам нужно использовать global
для доступа к нему в пределах function:
function addItemToCatalog($var1, $var2, $var3, $var4) {
global $link;
...
}
или дать функции $link
явно через параметр:
function addItemToCatalog($var1, $var2, $var3, $var4, $link) {
...
}
Я с тех пор адаптировал ответ 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;
}
}
}
Так брать на себя Ваше управление называют 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;
}
}