答案 0 :(得分:1)
我建议您使用stage 3 or onwards的DisplayStyle属性。
您可以通过仅在本示例中将mouseenter和mouseleave事件添加到控件中来进行测试。这样,您就不会像上面的注释之一中建议的那样删除图像(将其设置为null)。
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;
}
希望这对您有所帮助。
欢呼
答案 1 :(得分:0)
我这样做是通过让图像出现在某个表中具有值的情况下来完成的,除非它为空,否则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;
}
}
}