关闭
gezhu1212 2021-07-05 01: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 01:52
    关注

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

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

报告相同问题?

问题事件

  • 系统已结题 8月25日
  • 已采纳回答 8月18日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部