Подсказка C # не отображается, даже если она установлена ​​при загрузке формы - PullRequest
0 голосов
/ 29 апреля 2018

У меня возникла проблема с настройкой всплывающей подсказки, которая будет меняться в зависимости от целевой кнопки.

Это событие загрузки формы для установки подсказки.

private void FrmMain_Load(object sender, EventArgs e)
    {
        tabView.TabPages.Clear();
        toolTip.SetToolTip(btnACust, "Add customer");
        toolTip.SetToolTip(btnRCust, "Remove customer");
        toolTip.SetToolTip(btnSrch, "Search for an item");
        toolTip.SetToolTip(btnRef, "Refresh search criteria and data");
        toolTip.SetToolTip(btnEdit, "Edit selected item");
        toolTip.SetToolTip(btnDel, "Delete selected item");
        toolTip.SetToolTip(btnSell, "Add item to cart");
        toolTip.SetToolTip(btnReg, "Sell item/s");
        toolTip.SetToolTip(btnCRef, "Refresh search criteria and data");
        toolTip.SetToolTip(btnUpd, "Update item");
        toolTip.SetToolTip(btnUndo, "Reset to default values");
        toolTip.SetToolTip(btnECan, "Cancel all changes and close");
        dataGridSales.Columns[3].DefaultCellStyle.FormatProvider = CultureInfo.GetCultureInfo("en-PH");
        dataGridSales.Columns[3].DefaultCellStyle.Format = String.Format("C2");
        dataGridSales.Columns[3].ValueType = typeof(Double);
        dataGridSales.Columns[4].Visible = false;
        lblTimeDate.Text = "Date: " + System.DateTime.Now.ToShortDateString();
        dateTimeToday.Value = System.DateTime.Now;
    }

Я даже пытался разместить его здесь.

public FrmMain()
    {
        InitializeComponent();
        toolTip.SetToolTip(btnACust, "Add customer");
        toolTip.SetToolTip(btnRCust, "Remove customer");
        toolTip.SetToolTip(btnSrch, "Search for an item");
        toolTip.SetToolTip(btnRef, "Refresh search criteria and data");
        toolTip.SetToolTip(btnEdit, "Edit selected item");
        toolTip.SetToolTip(btnDel, "Delete selected item");
        toolTip.SetToolTip(btnSell, "Add item to cart");
        toolTip.SetToolTip(btnReg, "Sell item/s");
        toolTip.SetToolTip(btnCRef, "Refresh search criteria and data");
        toolTip.SetToolTip(btnUpd, "Update item");
        toolTip.SetToolTip(btnUndo, "Reset to default values");
        toolTip.SetToolTip(btnECan, "Cancel all changes and close");
    }

Но подсказка ничего не показывает. Он будет отображаться только если я открою свою первую вкладку Если я решу открыть другие вкладки, он не будет отображаться.

Это событие, где откроется моя первая вкладка

private void productsToolStripMenuItem_Click(object sender, EventArgs e)
    {
        if (!splitContainer1.Panel1.Contains(tabProd))
        {
            tabView.Visible = true;
            tabView.TabPages.Add(tabProd);
            tabView.SelectTab(tabProd);
            refresh();
        }
        else
        {
            tabView.SelectedTab = tabProd;
        }
    }

Все мои вкладки открыты одинаково. Я думаю о MouseHover Event, но у меня слишком много кнопок, это только некоторые из них.

Эта кнопка находится на моей панели splitcontainer 2. Страницы вкладок открыты на панели splitcontainer 1. Это образец моей формы загрузки.

Пользователь должен открыть эту вкладку, чтобы отобразилась подсказка. Но мне нужна всплывающая подсказка, даже если эта вкладка не открывается первой.

Когда открыта моя первая вкладка

Так как первая вкладка открыта, всплывающая подсказка теперь показывает

Также всплывающая подсказка не отображается, если открыта другая вкладка.

Если пользователь открывает другую вкладку

Если пользователь открывает другую вкладку

1 Ответ

0 голосов
/ 29 апреля 2018

вам нужно установить toolTip.ShowAlways в true.

поэтому ваш код должен выглядеть так:

private void FrmMain_Load(object sender, EventArgs e)
{
    tabView.TabPages.Clear();
    toolTip.ShowAlways = true;
    toolTip.SetToolTip(btnACust, "Add customer");
    toolTip.SetToolTip(btnRCust, "Remove customer");
    toolTip.SetToolTip(btnSrch, "Search for an item");
    toolTip.SetToolTip(btnRef, "Refresh search criteria and data");
    toolTip.SetToolTip(btnEdit, "Edit selected item");
    toolTip.SetToolTip(btnDel, "Delete selected item");
    toolTip.SetToolTip(btnSell, "Add item to cart");
    toolTip.SetToolTip(btnReg, "Sell item/s");
    toolTip.SetToolTip(btnCRef, "Refresh search criteria and data");
    toolTip.SetToolTip(btnUpd, "Update item");
    toolTip.SetToolTip(btnUndo, "Reset to default values");
    toolTip.SetToolTip(btnECan, "Cancel all changes and close");
    dataGridSales.Columns[3].DefaultCellStyle.FormatProvider = CultureInfo.GetCultureInfo("en-PH");
    dataGridSales.Columns[3].DefaultCellStyle.Format = String.Format("C2");
    dataGridSales.Columns[3].ValueType = typeof(Double);
    dataGridSales.Columns[4].Visible = false;
    lblTimeDate.Text = "Date: " + System.DateTime.Now.ToShortDateString();
    dateTimeToday.Value = System.DateTime.Now;
}
...