Как я могу вызвать изображение в меню и скрыть его? - PullRequest
0 голосов
/ 10 октября 2018

Мне было интересно, как я могу это сделать, так как я буду использовать его для уведомления пользователя о том, есть ли в определенной вкладке значения.

Итак, я хотел, чтобы изображение появилось, когда оно имеет значения, а когда оно пустое, изображение будет скрыто.

enter image description here

Обратите внимание, что изображение появится снова, когда на определенной вкладке будут значения.

Ответы [ 2 ]

0 голосов
/ 13 октября 2018

Я сделал это, заставив изображение появиться, когда в определенной таблице есть значения, если оно не пустое, тогда изображение в menutoolstrip не появится

Вот мой код:

private void Home_Load(object sender, EventArgs e)
    {
        if (GetPurchase())
        {
            forApprovalToolStripMenuItem.Image = Properties.Resources.sign_check_icon;
        }
        else
        {
            forApprovalToolStripMenuItem.Checked = false;
        }


        itemRequestsToolStripMenuItem.Enabled = true;
        forApprovalToolStripMenuItem.Enabled = false;

    }

    bool GetPurchase()
    {
        bool withPending;
        using (SqlConnection con = new SqlConnection(Helper.GetConnection()))
        {
            con.Open();
            string query = @"SELECT POID FROM purchaseorder_table WHERE status='Pending'";
            using (SqlCommand cmd = new SqlCommand(query, con))
            {
                return withPending = cmd.ExecuteScalar() == null ? false : true;
            }
        }
    }
0 голосов
/ 10 октября 2018

я бы рекомендовал вам использовать DisplayStyle свойство ToolStripMenuItem .

Вы можете проверить это, просто добавив события mouseenter и mouseleave к своему элементу управления, как в этом примере.Таким образом, вы не удаляете изображение (устанавливая его на ноль), как предложено в одном из комментариев выше.

 private void testToolStripMenuItem_MouseEnter(object sender, EventArgs e)
    {
        (sender as ToolStripMenuItem).DisplayStyle = ToolStripItemDisplayStyle.Text;
    }

    private void testToolStripMenuItem_MouseLeave(object sender, EventArgs e)
    {
        (sender as ToolStripMenuItem).DisplayStyle = ToolStripItemDisplayStyle.ImageAndText;
    }

Надеюсь, это поможет вам в дальнейшем.

Приветствия

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...