نیکناز
شنبه 11 مرداد 1393, 08:45 صبح
سلام دوستان
من می خوام یک buttton رو به عنوان آیتم context menustrip ، قرار بدم . البته می خوام آیکون هم داشته باشه.
یه چیز مثل این :
121882
اما میشه مثل این :
121883
یعنی آیکونش نشون نمی ده .
کدی که نوشتم :
public class ContexMenuStrip2 : ContextMenuStrip
{
protected override void OnPaint(PaintEventArgs e)
{
for (int i = 0; i < this.Items.Count; i++)
{
try
{
if ((this.Items[i].Image != null) && (this.Items[i].GetType().BaseType == typeof(System.Windows.Forms.ToolStripControlHost)) )
{
float x = 150;
float y = this.Items[i].Bounds.Y + ((this.Items[i].Bounds.Height / 2) - 20);
e.Graphics.DrawImage(Items[i].Image, x, y);
}
}
catch { }
}
base.OnPaint(e);
}
}
private void Form1_Load(object sender, EventArgs e)
{
ContexMenuStrip2 Menu = new ContexMenuStrip2();
Button btn = new Button();
btn.BackColor = Color.Pink;
ToolStripControlHost backcolorItem = new ToolStripControlHost(btn);
backcolorItem.BackgroundImageLayout = ImageLayout.None;
backcolorItem.Image = Image.FromFile(Application.StartupPath + "\\30.png");
backcolorItem.Width = 120;
backcolorItem.Name = "BgColor";
Menu.Items.Add(backcolorItem);
this.ContextMenuStrip = Menu;
}
من می خوام یک buttton رو به عنوان آیتم context menustrip ، قرار بدم . البته می خوام آیکون هم داشته باشه.
یه چیز مثل این :
121882
اما میشه مثل این :
121883
یعنی آیکونش نشون نمی ده .
کدی که نوشتم :
public class ContexMenuStrip2 : ContextMenuStrip
{
protected override void OnPaint(PaintEventArgs e)
{
for (int i = 0; i < this.Items.Count; i++)
{
try
{
if ((this.Items[i].Image != null) && (this.Items[i].GetType().BaseType == typeof(System.Windows.Forms.ToolStripControlHost)) )
{
float x = 150;
float y = this.Items[i].Bounds.Y + ((this.Items[i].Bounds.Height / 2) - 20);
e.Graphics.DrawImage(Items[i].Image, x, y);
}
}
catch { }
}
base.OnPaint(e);
}
}
private void Form1_Load(object sender, EventArgs e)
{
ContexMenuStrip2 Menu = new ContexMenuStrip2();
Button btn = new Button();
btn.BackColor = Color.Pink;
ToolStripControlHost backcolorItem = new ToolStripControlHost(btn);
backcolorItem.BackgroundImageLayout = ImageLayout.None;
backcolorItem.Image = Image.FromFile(Application.StartupPath + "\\30.png");
backcolorItem.Width = 120;
backcolorItem.Name = "BgColor";
Menu.Items.Add(backcolorItem);
this.ContextMenuStrip = Menu;
}