私は、ドロップダウンリストにさまざまな要素を持つToolStripSplitButtonを持っています。 その1つは、ToolStripControlHostで囲まれた、ToolStripTrackbarItemと呼ばれるトラックバーです。私はと成功したんだドロップダウンメニューのToolStripControlHostの画像を表示
:それは動作しますが、私は、ドロップダウン項目の左側に画像を表示する必要が
using System;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
using System.Windows.Forms.Design;
namespace Application
{
[System.ComponentModel.DesignerCategory("code")]
[System.Windows.Forms.Design.ToolStripItemDesignerAvailability(ToolStripItemDesignerAvailability.ContextMenuStrip | ToolStripItemDesignerAvailability.MenuStrip)]
public class ToolStripTrackbarItem : ToolStripControlHost
{
public ToolStripTrackbarItem()
: base(CreateControlInstance())
{
this.Size = Control.Size;
}
public TrackBar TrackBar
{
get { return Control as TrackBar; }
}
private static Control CreateControlInstance()
{
TrackBar t = new TrackBar();
t.AutoSize = false;
return t;
}
[DefaultValue(0)]
public int Value
{
get { return TrackBar.Value; }
set { TrackBar.Value = value; }
}
protected override void OnSubscribeControlEvents(Control control)
{
base.OnSubscribeControlEvents(control);
TrackBar trackBar = control as TrackBar;
trackBar.ValueChanged += new EventHandler(trackBar_ValueChanged);
}
protected override void OnUnsubscribeControlEvents(Control control)
{
base.OnUnsubscribeControlEvents(control);
TrackBar trackBar = control as TrackBar;
trackBar.ValueChanged -= new EventHandler(trackBar_ValueChanged);
}
void trackBar_ValueChanged(object sender, EventArgs e)
{
if (this.ValueChanged != null)
ValueChanged(sender, e);
}
public event EventHandler ValueChanged;
protected override Size DefaultSize
{
get { return new Size(300, 16); }
}
}
:それはコード(私はstackoverflowのからそれを持っている)ですImageプロパティを設定して、単純なToolStripMenuItemを作成します。ただし、ToolStripTrackbarItem(ToolStripControlHostから継承され、上のコードを参照)のImageプロパティを設定することは効果的ではありません。 MSDNによると、ImageプロパティはToolStripControlHostとは無関係です。
この意味は? ToolStripControlHostに残されたイメージを含めることさえできませんか?
とにかく可能なら、どうすればいいですか?