gezhu1212 2021-07-05 09:07 采纳率: 64.4%
浏览 19
已结题

C#formboardstyle设置为none时,遍历控件出现问题

img

这是什么原因,是哪个控件未得到tag?还是窗体的问题?

        private void Form1_Resize(object sender, EventArgs e)
        {
            float newX = this.Width / X;//获取当前宽度与初始宽度的比例
            float newY = this.Height / Y;//获取当前高度与初始高度的比例
            Class1.setControls(newX, newY, this);
            //this.Text = "窗体宽:" + this.Width.ToString() + " 窗体高:" + this.Height.ToString();//窗体标题栏
        }

public static void setControls(float newX, float newY, Control cons)
        {
            //遍历窗体中的控件,重新设置控件的值
            foreach (Control con in cons.Controls)
            {
                try
                {
                    string[] mytag = con.Tag.ToString().Split(new char[] { ':' });//获取控件的Tag属性值,并分割后存储字符串数组

                    float a = Convert.ToSingle(mytag[0]) * newX;//根据窗体缩放比例确定控件的值,宽度//89*300
                    con.Width = (int)(a);//宽度

                    a = Convert.ToSingle(mytag[1]) * newY;//根据窗体缩放比例确定控件的值,高度//12*300
                    con.Height = (int)(a);//高度

                    a = Convert.ToSingle(mytag[2]) * newX;//根据窗体缩放比例确定控件的值,左边距离//
                    con.Left = (int)(a);//左边距离

                    a = Convert.ToSingle(mytag[3]) * newY;//根据窗体缩放比例确定控件的值,上边缘距离
                    con.Top = (int)(a);//上边缘距离

                    Single currentSize = Convert.ToSingle(mytag[4]) * newY;//根据窗体缩放比例确定控件的值,字体大小
                    con.Font = new Font(con.Font.Name, currentSize, con.Font.Style, con.Font.Unit);//字体大小
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
    
            }
        }

碰到这种问题毫无头绪,该怎么解决?

  • 写回答

1条回答 默认 最新

  • hxycsdn9159 2021-07-05 09:52
    关注

    这个跟formboardstyle设置为none没有一点关系,你遍历了名字叫cons这个控件的所有子控件,并且试图取得每个子控件的Tag属性,先去检查一下被你遍历的每个控件是不是都有Tag属性,而且每个con.Tag属性都有值。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月26日
  • 已采纳回答 8月18日

悬赏问题

  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
  • ¥50 NT4.0系统 STOP:0X0000007B
  • ¥15 想问一下stata17中这段代码哪里有问题呀
  • ¥15 flink cdc无法实时同步mysql数据
  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组