#C#之WinForm设置控件居中

简单阐述

在C#的WinForm里面,原生控件是没有居中属性的,故通过重写OnResize(EventArgs e)方法,通过计算,重新定位控件位置。

以Label控件为例

(1)将label的AutoSize属性设置为false;Dock属性设置为fill;TextAlign属性设置为MiddleCenter。
(2)重写居中的代码如下:

protected override void OnResize(EventArgs e)
        {
            base.OnResize(e);
            int x = (int)(0.5 * (this.Width - label1.Width));
            int y = label1.Location.Y;
            label1.Location = new System.Drawing.Point(x,y);
        }

参考地址

https://blog.csdn.net/mingyueyixi/article/details/55035935

原文地址:https://www.cnblogs.com/GardenofEden/p/10383664.html

时间: 2024-10-12 21:25:53

#C#之WinForm设置控件居中的相关文章

WinForm设置控件焦点focus

winform窗口打开后文本框的默认焦点设置,进入窗口后默认聚焦到某个文本框,两种方法: ①设置tabindex 把该文本框属性里的tabIndex设为0,焦点就默认在这个文本框里了. ②Winform的Activated事件 在Form的Activated事件中添加textBox1.Focus(), 即可获得焦点. private void Form1_Activated(object sender, EventArgs e) { textBox1.Focus(); } /* 何问起 hove

关于解决为什么设置控件居中等位置无反应的问题

在android中添加控件,特别是子控件时都会添加很多位置信息,形同: mParams.gravity=Gravity.LEFT;或xml里面的android:layout_gravity="right" 但是发现在显示控件时完全没有效果!这种情况一般都是父布局设置了如下参数: android:layout_width="wrap_content" android:layout_height="wrap_content" 因为wrap_conte

在DevExpress程序中使用Winform分页控件直接录入数据并保存

一般情况下,我们都倾向于使用一个组织比较好的独立界面来录入或者展示相关的数据,这样处理比较规范,也方便显示比较复杂的数据.不过在一些情况下,我们也可能需要直接在GridView表格上直接录入或者修改数据,这种对于字段比较少,而且内容相对比较简单的情况下,效率是比较高的一种输入方式.本篇随笔主要介绍在DevExpress程序中使用GridView直接录入数据并保存的实现,以及使用Winform分页控件来进行数据直接录入的实现操作. 1.在GridView上展示数据 在GridView上展示数据,只

类似web风格的 Winform 分页控件

背景 最近做一个Winform的小程序,需要用到分页,由于之前一直在用 TonyPagerForWinForm.dll ,但该库没有源代码,网上找的也不全面,索性就准备自己改造一个.在园子里翻了一下,发现路过秋天在多年前写了个分页控件,Winform 通用分页控件实战篇(提供源码下载).站在大神的肩膀上就是快,一会就改好了. 效果图 功能比较齐全,不过样式上,楼主十分喜欢easyUI或ext的列表分页风格.于是换了几个按钮,添加了图标,看看现在的效果. 控件源码在正文最下方. 使用简介 就那么一

winform 公共控件 ListView

//数据显示,刷新 public void F5() { listView1.Items.Clear(); List<Students> Stu = new StudentsData().SeletAll(F1.textBox1.Text); foreach (Students s in Stu) { ListViewItem li = new ListViewItem(); li.Text = s.Ids.ToString(); li.SubItems.Add(s.Code); li.Sub

DevExpress Winform 通用控件打印方法(允许可自定义边距) z

DevExpress Winform 通用控件打印方法,包括gridcontrol,treelist,pivotGridControl,ChartControl,LayoutControl...(所有支持打印功能的控件) ,同时允许用户自定义报表标题,报表纸张类型(A4,A3...),报表边距 /// <summary> /// 打印功能 /// </summary> /// <param name="panel">打印控件</param>

C# Winform将控件作为参数传递

最近做个Winform 的程序设计,需要将窗体的控件作为参数传递到另外一个类的函数中去使用,每次都会忘记,简单的记下来,以备即时查看. 1. 设置控件的modifier属性设置为public 2. 以空间名为参数 3. 在需要使用的类中using System.Windows.Forms; 3. 在另外一个类中可以直接声明控件类型的变量列如:TextBox, SaveFileDialog, ListView等控件类型 这样就可以脱离窗体程序,在其他的类中操作窗体的控件属性,同时也方便了窗体和窗体

DevExpress Winform 通用控件打印方法(允许可自定义边距)

DevExpress Winform 通用控件打印方法,包括gridcontrol,treelist,pivotGridControl,ChartControl,LayoutControl...(所有支持打印功能的控件) ,同时允许用户自定义报表标题,报表纸张类型(A4,A3...),报表边距 /// <summary>         /// 打印功能         /// </summary>         /// <param name="panel&qu

&lt;iOS小技巧&gt;UIview指定设置控件圆角

一.用法: 众所周知,设置控件的圆角使用layer.cornerRadius属性即可,但是这样设置成的结果是4个边角都是圆角类型. 利用班赛尔曲线画角: //利用班赛尔曲线画角 UIBezierPath *bezierPath = [UIBezierPath bezierPathWithRoundedRect:button.bounds byRoundingCorners:(UIRectCornerBottomLeft |UIRectCornerBottomRight) cornerRadii: