我正在创建Windows C#/。NET应用程序,并尝试使用“外观”设置为“按钮”的TabControl。我希望标签仅包含图像,而不包含文本。但是,每个按钮的右侧都有很多额外的填充,我想摆脱这些填充:


我可以通过将字体大小减小到1来减小右边距,但是它仍然比左侧宽几个像素,而且似乎有点糊涂。有没有更好的办法?

最佳答案

试试这个

public frmForm()
{
     InitializeComponent();
     tabControl1.Appearance = TabAppearance.Buttons;
     tabControl1.DrawMode = TabDrawMode.OwnerDrawFixed;
     tabControl1.DrawItem += new DrawItemEventHandler(tabControl1_DrawItem);
}

private void tabControl1_DrawItem(object sender, DrawItemEventArgs e)
{
    //Load the image
    Image img = Image.FromFile(String.Format("{0}\\{1}.jpg",Application.StartupPath,tabControl1.TabPages[e.Index].Name));
    //Resize image
    img = new Bitmap(img, e.Bounds.Size);
    //Draw on Tab Button
    e.Graphics.DrawImage(img, e.Bounds.Location);
}

10-01 12:07