isp*_*iro 2 c# winforms toolstripcontrolhost
我试图模仿这个答案但是虽然这有效:
public class TrackBarMenuItem : ToolStripControlHost
{
TrackBar trackBar;
public TrackBarMenuItem()
: base(new TrackBar())
{
trackBar = Control as TrackBar;
}
}
Run Code Online (Sandbox Code Playgroud)
这不是:
public class PanelMenuItem : ToolStripControlHost
{
Panel panel;
public PanelMenuItem()
: base(new Panel())
{
panel = Control as Panel;
Visible = true;
Enabled = true;
panel.AutoSize = false;
panel.Size = new Size(100, 50);
}
}
Run Code Online (Sandbox Code Playgroud)
为什么?
我这样叫他们:
contextMenuStrip1.Items.Add(new TrackBarMenuItem());
contextMenuStrip1.Items.Add(new PanelMenuItem());
Run Code Online (Sandbox Code Playgroud)
设置面板的最小尺寸:
public class PanelMenuItem : ToolStripControlHost {
Panel panel;
public PanelMenuItem()
: base(new Panel()) {
panel = Control as Panel;
Visible = true;
Enabled = true;
panel.AutoSize = false;
panel.Size = new Size(100, 50);
panel.MinimumSize = panel.Size;
}
}
Run Code Online (Sandbox Code Playgroud)