0

Text と Image が配置された StatusStripLabel があります。今、私はテキストと画像の両方の独立したイベントを呼び出したい..テキストクリックのように..それはText_Clickである必要があります..画像クリックでそれはImage_Clickである必要があります..

上記の可能性または否定的シナリオ??????

4

1 に答える 1

0

ある程度可能... で使用されている画像の境界に対してMouseUpイベントの場所をテストできます。MouseEventArgsToolStripStatusLabel

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.ImageBeforeText必要ToolStripStatusLabel.ImageScalingがありますToolStripItemImageScaling.None。それ以外の場合は、さらにロジックを追加する必要があります。

于 2012-11-20T08:51:54.403 に答える