Winfrom控件使用
1.Lablelable添加图片,解决图片和字体重叠?
Text属性添加足够空格即可,显示效果如下所示:
2.根据窗体名称获取窗体并显示到指定panel?
Label item = sender as Label;
if (item == null) return;
Assembly assembly = Assembly.GetExecutingAssembly();
var path = "Namespace." + item.Name;
Form form = assembly.CreateInstance(path) as Form;
if (form == null) return;
this.panelContent.Controls.Clear();
form.TopLevel = false;
form.FormBorderStyle = FormBorderStyle.None;
form.Dock = DockStyle.Fill;
form.Parent = this.panelContent;
this.panelContent.Controls.Add(form);
form.Show();
注意:item.Name为获取到的窗体名称,如:LoginForm.
3.panel添加控件并为控件添加事件?
public class MenuItemNodes
{
public string Value { get; set; }
public string Name { get; set; }
} private void InitNavigation(List<MenuItemNodes> items)
{
if (items == null) return; this.panleNavigation.Controls.Clear();
foreach (MenuItemNodes item in items)
{
Add(new Label(), item, this.panleNavigation);
}
} private void Add(Label item, MenuItemNodes node, Panel panel)
{
item.Name = node.Name;
item.Text = node.Value;
item.Size = new Size(, );
item.TextAlign = ContentAlignment.MiddleLeft;
item.ForeColor = Color.White;
item.Font = new Font("微软雅黑", 12f, FontStyle.Bold);
//34, 95, 129
item.BackColor = System.Drawing.Color.FromArgb(, , );
item.BorderStyle = BorderStyle.FixedSingle; if (panel.Controls.Count == ) item.Location = new Point();
else
{
int y = ;
int x = ;
if (panel.Controls.Count % > )
{
y = panel.Controls[panel.Controls.Count - ].Location.Y;
x = panel.Controls[panel.Controls.Count - ].Location.X + item.Width;
}
else
{
y = panel.Controls[panel.Controls.Count - ].Location.Y + item.Height;
x = panel.Controls[panel.Controls.Count - ].Location.X;
} item.Location = new Point(x, y);
}
item.MouseClick -= item_MouseClick;
item.MouseClick += new MouseEventHandler(item_MouseClick); panel.Controls.Add(item);
} void item_MouseClick(object sender, MouseEventArgs e)
{
}
Winfrom控件使用的更多相关文章
- WPF 精修篇 WPF嵌入Winfrom控件
原文:WPF 精修篇 WPF嵌入Winfrom控件 先增加DLL 支持 使用 WindowsFormsHost 来加载Forms的控件 引用命名空间 xmlns:forms="clr-na ...
- Winfrom控件 特效
链接:https://pan.baidu.com/s/1O9e7sxnYFYWD55Vh5fxFQg 提取码:5cey 复制这段内容后打开百度网盘手机App,操作更方便哦 Winfrom控件查询手册. ...
- C#winfrom控件命名规范
※用红字标记的部分表示有重复出现,括号内为替代表示方案 1.标准控件 序号 控件类型简写 控件类型 1 btn Button 2 chk CheckBox 3 ckl CheckedListBox ...
- winfrom控件——基本工具
窗体事件:属性—事件—load(双击添加) 窗体加载完之后的事件: 删除事件:先将属性事件里挂号的事件名删掉(行为里的load)再删后台代码里的事件. 控件:工具箱里(搜索—双击或点击拖动到窗体界面) ...
- 调整Winfrom控件WebBrowser的默认浏览器内核版本
一.问题解析: 今天在调试程序的时候,需要使用C#的客户端远程登录一个Web页面,用到了WebBrowser控件.但是却发现了一件很神奇的事情:当前浏览器使用的内核,可以通过访问下面这个网站获取:ht ...
- c# vs2010 winfrom控件检测网络环境
写下以作备用,代码附上. public partial class UserControl1 : UserControl, IObjectSafety { //检测网络状态 [DllImport(&q ...
- winfrom 控件的显示隐藏方法
使用Panel作为容器 Panel2.Visible = true; //显示 Panel1.Visible = false; //隐藏
- WinFrom控件双向绑定
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- winfrom控件圆角
刚好用到这个功能,看了好些例子.我就不明白,简单的一个事,一些文章里的代码写的那个长啊,还让人看么. 精简后,就其实一点,只要有paint事件的组件,都可画圆角,没有的外面套一个panel就行了. u ...
随机推荐
- 机器学习:Kullback-Leibler Divergence (KL 散度)
今天,我们介绍机器学习里非常常用的一个概念,KL 散度,这是一个用来衡量两个概率分布的相似性的一个度量指标.我们知道,现实世界里的任何观察都可以看成表示成信息和数据,一般来说,我们无法获取数据的总体, ...
- The repository 'http://cdn.debian.net/debian stretch Release' is not signed.
/********************************************************************************* * The repository ...
- 用纯JS实现,点击一个列表时,输出对应的索引(不能用JQuery哦)
你运行一下代码会发现,无论你点击哪个列表,控制台都是输出10.这是因为var声明的变量是函数作用域的,而不是块级作用域的.也就是说,for循环10次,每次都是改变同一个i,所以它的值会从0一直加到10 ...
- freeSSHd (Auth fail)错误!以及Xmanager的(ssh服务器拒绝了密码,请再试一次)错误!
参考文档:http://blog.csdn.net/zhangliang_571/article/details/45598939 (Auth fail) 以及(ssh服务器拒绝了密码,请再试一次) ...
- java-类中需注意的问题
1.对成员变量的操作只能放在方法中,方法可以对成员变量和该方法中声明的局部变量进行操作. 在声明类的成员变量时,可以同时赋予初值,例如: class Test { int a=12; float b= ...
- hdu4424 Conquer a New Region 并查集/类似最小生成树
The wheel of the history rolling forward, our king conquered a new region in a distant continent.The ...
- hdu2174 kiki's game 博弈
Recently kiki has nothing to do. While she is bored, an idea appears in his mind, she just playes th ...
- SVN :Unable to connect to a repository at URL
编程之路刚刚开始,错误难免,希望大家能够指出. 单位换地方了,SVN的服务器和本机不在一个网段,原先的SVN文件夹进行“SVN Update”的时候报错了,如下: 网上一查,原来是DNS域名解析错误 ...
- doubleclick-video-skipable
from:https://support.google.com/adxbuyer/answer/2691733?hl=en Implement skippable functionality usin ...
- centos7安装的mysql无法启动(mysql daemon failed to start)
不知道是什么原因,启动mysql时一直报这个错误,卸载重装mysql也没用 后来看到网上有人说,执行命令mysql_install_db就可以了 一试还真的行