StatusStripLabel独立于图像和文本的事件

时间:2012-11-20 06:54:33

标签: c#

我有一个StatusStripLabel,其中放置了Text和Image。 现在我想为文本和图像调用indenpendent事件.. 喜欢On Text Click .. 它应该是Text_Click .. 在图像上单击 它应该是Image_Click ..

上面提到的场景可能或不是??????

1 个答案:

答案 0 :(得分:0)

有些可能......您可以针对MouseUp中使用的图片范围测试MouseEventArgs事件ToolStripStatusLabel的位置。

private void statusLabel_MouseUp(object sender, MouseEventArgs e)
{
    ToolStripStatusLabel statusLabel = (ToolStripStatusLabel)sender;
    GraphicsUnit unit = GraphicsUnit.Pixel;

    if (statusLabel.Image.GetBounds(ref unit).Contains(e.Location))
        MessageBox.Show("Clicked on image.");
    else
        MessageBox.Show("Clicked on text.");
}

但有一些先决条件:ToolStripStatusLabel.TextImageRelation必须设置为TextImageRelation.ImageBeforeTextToolStripStatusLabel.ImageScaling必须设置为ToolStripItemImageScaling.None。否则你将不得不添加一些逻辑。