C# winform窗体动态创建button按钮并根据文本自动设置宽度

C# winform窗体动态创建button按钮并根据文本自动设置宽度具体功能点为

1、根据xml的项目动态创建tutton

2、每个button的宽度根据按钮上的文本来设置

代码片段如下

// 读取xml文件信息
            XmlDocument doc = new XmlDocument();
            doc.Load(xmlPath);

            // 遍历游戏信息生成按钮
            foreach (XmlNode node in doc.SelectNodes("Games/Game"))
            {
                Button btn = new Button();
                btn.Text = node.SelectSingleNode("Name").InnerText;
                // 使用TextRenderer类来测量文本的像素宽度
                int textWidth = TextRenderer.MeasureText(btn.Text, btn.Font).Width;
                // 可以添加一些额外的像素以留出一些空白
                int padding = 10;
                // 设置按钮的宽度为文本宽度加上额外的填充
                btn.Width = textWidth + padding;

                // 保存游戏路径到Tag
                btn.Tag = node.SelectSingleNode("Path").InnerText;

                btn.Click += LaunchGame;
                flowLayoutPanel1.Controls.Add(btn);
            }
这是一个通过winform窗体来启动游戏,类似于游戏盒子这种东西启动游戏一样。



相关推荐

猜你喜欢

改版了,换上了自己写程序

给网站换上了自己开发的PHP代码,想深度定制网站的功能, 原来的typecho熟悉程度不够不想改,wordpress调研了几天也觉得不合适自己之后的深度定制。 评论功能移除了,依靠chatGPT编程...

解决linux rm和软件界面都无法删除的乱码文件名的文件

解决linux rm和软件界面都无法删除的乱码文件名的文件

有些看似乱码文件,加一对单引号就能删除。但有些真乱码文件,怎么也删除不掉,用sftp工具连接能看到也删除不掉。 rm: 无法删除"?q???d??": 没有那个文件或目录 这里有一个非常有效果的解决...

用20行Python代码实现实时获取鼠标屏幕坐标

用20行Python代码实现实时获取鼠标屏幕坐标

代码保存为一个py文件,比如xxx.py,再运行这个py文件。 鼠标就会出现一个浮窗跟随,实时显示当前鼠标坐标。 需要先pip install pyautogui import pyautogui ...