.net 8.0框架下splitContainer在不断点击放大、缩小情况下分割线越来越粗问题解决

关于其他方面可参考前文:https://www.cnblogs.com/Jesuslovesme/p/18623422
此文想说明的问题是:之前在.net framework 4.7.2运行一切正常的项目,在升级为.net 8.0项目后,不断点击自定义逻辑的放大、缩小按钮,分割线越来越粗,一时找不出问题所在。

后来搜索相关资料,发现winform的splitContainer控件本身就有可能出现这个问题,无关.net framework 4.7.2框架还是.net 8.0框架(只能说当时.net framework 4.7.2没问题可能当时自己写的自定义伸缩代码是正好适用的,导致这个问题没有暴漏出来)。

最后的解决方法:(简单粗暴)

直接在自定义逻辑的放大、缩小按钮等处,额外加入强制设置splitContainer的宽度值!

  //最小化
  private void pictureBox7_Click(object sender, EventArgs e)
  {
      this.WindowState = FormWindowState.Minimized;
      //20241223 解决.net 8.0框架不断点击放大缩小,分割线越来越大的问题
      this.splitContainer1.SplitterWidth = 4; // 设置为需要的宽度
      this.splitContainer2.SplitterWidth = 4; // 设置为需要的宽度
  }

  private void MaxWindow()
  {
      this.WindowState = FormWindowState.Maximized;
      //20241223 解决.net 8.0框架不断点击放大缩小,分割线越来越大的问题
      this.splitContainer1.SplitterWidth = 4; // 设置为需要的宽度
      this.splitContainer2.SplitterWidth = 4; // 设置为需要的宽度
      //pictureBox3.Hide();//放大图标隐藏
      //pictureBox4.Show();//缩小图标显示
  }

   private void NormalWindow()
   {
       this.WindowState = FormWindowState.Normal;
       //20241223 解决.net 8.0框架不断点击放大缩小,分割线越来越大的问题
       this.splitContainer1.SplitterWidth = 4; // 设置为需要的宽度
       this.splitContainer2.SplitterWidth = 4; // 设置为需要的宽度
       //pictureBox4.Hide();//缩小图标隐藏
       //pictureBox3.Show();//放大图标显示
   }

参考:https://bbs.csdn.net/topics/390966539

 

posted @ 2024-12-23 16:00  上清风  阅读(54)  评论(0)    收藏  举报