C# TabControl控件设置多行属性multiline为true后切换页签出现空白

一、问题描述:

最近一直在做C#项目,随着项目的不断扩大,Form窗体中TabControl控件的内容一行已经放不下了,于是乎就设置了属性multiline为true,但是随之而来的就是一个新问题。当切换其他程序窗口返回后,就出现了一个页面渲染问题,页面中间出现大块的空白。然后页面内容整体下沉了。
C# TabControl控件设置多行属性multiline为true后切换页签出现空白_第1张图片
这个问题十分难解,由于只是C#小菜鸟,找遍全网也没找到解决方案。最终在结合chatGPT及组内大神的帮助下,解决该问题。

二、解决思路:

需要重写一个form窗体的resize方法,且在初始化窗体时进行重新绘制大小。代码如下:

namespace BINHELPER
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
            //初始化之后调用
            this.Resize += new EventHandler(Form2_Resize);
        }
		//重写绘制方法
        private void Form2_Resize(Object sender, EventArgs e)
        {
            tabControl1.Bounds = new Rectangle(0, 0, this.ClientSize.Width, this.ClientSize.Height);
        }
    }
}

修改后再次启动程序则不会出现此类问题。以此作为一个经验积累。

你可能感兴趣的:(c#,开发语言,form页面空白)