请问怎样使用Dock,Anchor属性?

lsqlxq 2003-10-21 11:55:48
搜索过以前的帖子,很多帅哥都表示要想设计能自适应不同分辨率窗口的WinForm要Dock,Anchor两个属性配合使用,可我发现一旦设置了Dock属性后,Anchor属性也相应的改了,比如设置Dock为Left后Anchor自动变为Top、Left。这样不能叫配合吧,请问这怎么理解?
如您对这两个属性有相当的理解,请帮我实现一个这样的最直接的效果:一个小窗体(不是最大化的),上面放100个文本框,共10行,每行10个,这100个文本框充满了整个窗体而均匀分布在窗体上。设置它们的属性后,运行程序,用鼠标拉窗体改变窗体大小,这100个文本框中每个都要相应的改变位置而改变大小,按比例扩大,保证还是“充满整个窗体而均匀分布在窗体上”。
谢谢!
...全文
302 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ETstudio 2003-10-21
  • 打赏
  • 举报
回复
我是用另一种方法做的,用上面的属性是不可以实现的,因为Dock是单方向的,只能是一列或一行,不可以多行多列
ETstudio 2003-10-21
  • 打赏
  • 举报
回复
给我你的email,我做一个给你!
lsqlxq 2003-10-21
  • 打赏
  • 举报
回复
请问 zzzsssccc(籍秋风) 您写的这两段代码是干啥的?
三杯倒 2003-10-21
  • 打赏
  • 举报
回复
// Add a button to a form and set some of its common properties.
private void AddMyButton()
{
// Create a button and add it to the form.
Button button1 = new Button();

// Anchor the button to the bottom right corner of the form
button1.Anchor = (AnchorStyles.Bottom | AnchorStyles.Right);

// Assign a background image.
button1.BackgroundImage = imageList1.Images[0];

// Make the button the same size as the image.
button1.Size = button1.BackgroundImage.Size;

// Set the button's TabIndex and TabStop properties.
button1.TabIndex = 1;
button1.TabStop = true;

// Add a delegate to handle the Click event.
button1.Click += new System.EventHandler(this.button1_Click);

// Add the button to the form.
this.Controls.Add(button1);
}
三杯倒 2003-10-21
  • 打赏
  • 举报
回复
// Add a GroupBox to a form and set some of its common properties.
private void AddMyGroupBox()
{
// Create a GroupBox and add a TextBox to it.
GroupBox groupBox1 = new GroupBox();
TextBox textBox1 = new TextBox();
textBox1.Location = new Point(15, 15);
groupBox1.Controls.Add(textBox1);

// Set the Text and Dock properties of the GroupBox.
groupBox1.Text = "MyGroupBox";
groupBox1.Dock = DockStyle.Top;

// Disable the GroupBox (which disables all its child controls)
groupBox1.Enabled = false;

// Add the Groupbox to the form.
this.Controls.Add(groupBox1);
}
lsqlxq 2003-10-21
  • 打赏
  • 举报
回复
TO:ETstudio(外星人)
我已经发邮件给你了:)
谢谢
ETstudio 2003-10-21
  • 打赏
  • 举报
回复
要的话就发信给我吧:et@fabrefactum.com
第1章 可调节类控件 1.1 Datetimepicker控件 1.1.1 CalendarFont属性 1.1.2 CalendarForeColor属性 1.1.3 CalendarMonthBackground属性 1.1.4 CalendarTitleBackColor属性 1.1.5 CalendarTitleForeColor属性 1.1.6 CalendarTrailingForeColor属性 1.1.7 CustomFormat属性 1.1.8 Location属性 1.1.9 Region属性 1.1.10 ShowUpDown属性 1.1.11 ShowCheckBox属性 1.1.12 Size属性 1.1.13 Value属性 1.1.14另外2种显示时间和日期的方法 1.2 MonthCalendar控件 1.2.1属性说明 1.2.2应用举例 1.3 NumericUpDown控件 1.3.1 Anchor属性 1.3.2 AutoSize属性 1.3.3 CausesValidation属性 1.3.4 其他常用属性 第2章 选择类控件 2.1 RadioButton控件 2.1.1 AllowDrop属性 2.1.2 Anchor属性 2.1.3 AutoEllipsis属性 2.1.4 设置控件背景的属性 2.1.5 FlatStyle和FlatAppearance属性 2.1.6 Image类属性 2.1.7 UseWaitCursor属性 2.1.8 UseVisualStyleBackColor属性 2.1.9 ContextMenuStrip属性 2.1.10 TextlmageRelation属性 2.2 CheckBox控件 2.3 CheckedListBox控件 2.3.1 CausesValidation属性 2.3.2 CheckOnClick属性 2.3.3 ColumnWidth属性 2.3.4 Cursor属性 2.3.5 Dock属性 2.3.6 FormatStrin9和FormattingEnabled属性 2.3.7 HorizontalScroUBar和HorizontalExtent属性 2.3.8 ImeMode属性 2.3.9 IntegralHeight属性 2.3.10 Items属性 2.3.11 MaximumSize和MinimumSize属性 2.3.12 MultiColumn属性 2.3.13 RightToLefl属性 2.3.14 ScrollAlwaysVisible属性 2.3.15 SelectionMode属性 2.3.16 Sorted属性 2.3.17 ThreeDCheckBoxes属性 2.3.18 UseCustomTabOffsets属性 第3章 显示类控件 3.1 TextBox控件 3.1.1 AcceptsRetum属性 3.1.2 AcceptsTab属性 3.1.3 AutoCompleteCustomSource属性 3.1.4 AutoCompleteMode属性 3.1.5 AutoCompleteSource属性 3.1.6 CharacterCasin9属性 3.1.7 HideSelection属性 3.1.8 Lines和Multiline属性 3.1.9 MaxLength属性 3.1.10 PasswordChar属性 3.1.11 ScrollBars属性 3.1.12 UseSystemPasswordChar属性 3.1.13 WordWrap属性 3.2 RichTextBox控件 3.2.1 Lines属性 3.2.2 ScrollBars属性 3.2.3 AutoWordSelection属性 3.2.4 Bulletlndent属性 3.2.5 SelectionFont属性 3.2.6 DetectUrls属性 3.2.7 EnableAutoDragDrop属性 3.2.8 ShortCutsEnabled属性 3.2.9 ShowSelectionMargin属性 3.2.10 ZoomFactor属性 3.3 LinkLabel控件 …… 第4章 组合类控件 第5章 容器类控件 第6章 菜单和工具栏类控件 第7章 数据控件 第8章 .NET环境下组合类控件 第9章 打印类控件 第10章 对话框类控件 第11章 水晶报表控件 第12章 多媒体播放控件 第13章 自定义控件
FlowLayoutPanel 一些应用程序需要一个布局可随窗体大小的调整或其中内容大小的改变而自动进行适当排列的窗体。在需要动态布局并且不希望在代码中显式处理 Layout 事件时,可考虑使用布局面板。 FlowLayoutPanel是.NET Framework的新增控件。顾名思义,面板可以采用Web窗体的方式给Windows窗体布局。FlowLayoutPanel是一个容器,允许以垂直或水平的方式放置包含的控件。除了放置控件之外,还可以剪辑控件。放置的方向使用FlowDirection属性和FlowDirection枚举来设置。WrapContents属性确定在重新设置窗体的大小时,控件是放在下一行、下一列,还是剪辑控件。 FlowLayoutPanel 按特定的流方向排列其内容:水平或垂直。其内容可从一行换到下一行,或者从一列换到下一列。另一种情况是不换行,而是将其内容截掉。 相信大家在做WinForm项目的时候,要对大量的控件进行排序(位置摆放),这个容器肯定最受欢迎,但很遗憾的是,此容器本身虽支持Dock和Anchor属性,但不支持放入此容器内的控件的Dock和Anchor属性(自动调整宽度),也就说,但窗体伸缩,FlowLayoutPanel容器自身可以缩放,但是里面的控件就没那么幸运了,不支持自动缩放,这样就必须写方法来触发新的事件来调整控件的大小,这样就会导致窗体的闪烁(重绘)。 借助ManagedSpy工具,我们可以看到此容器里面的器件的结构,我们可以在Form1里面添加一个事件SizeChanged 对容器里面每个器件重新给它大小 就行了。 附件:FlowLayoutPanel的Demo
《Visual C# 2008控件使用范例详解》作者拥有10年的编程经验,通过近200个范例的典型应用,帮助读者透彻理解Visual C#2008的控件及其应用。全书共分13章,分别介绍了可调节类控件、选择类控件、显示类控件、组合类控件、容器类控件、菜单和工具栏类控件、数据控件、应用类控件、打印类控件、对话框类控件、水晶报表控件、多媒体播放控件、自定义控件等13类控件。对于每一个控件都从作用、各属性的用法及其对操作结果的影响、相关编程知识等方面进行一一介绍。《Visual C# 2008控件使用范例详解》适合稍有.NET基础的所有Visual C# 2008应用开发人员,是你提高编程水平,高效完成任务的良师益友;针对每个控件应用技术点的详尽阐述,也可供你作为案头的速查手册。 第2章 选择类控件 2.1 RadioButton控件 2.1.1 AllowDrop属性 2.1.2 Anchor属性 2.1.3 AutoEllipsis属性 2.1.4 设置控件背景的属性 2.1.5 FlatStyle和FlatAppearance属性 2.1.6 Image类属性 2.1.7 UseWaitCursor属性 2.1.8 UseVisualStyleBackColor属性 2.1.9 ContextMenuStrip属性 2.1.10 TextlmageRelation属性 2.2 CheckBox控件 2.3 CheckedListBox控件 2.3.1 CausesValidation属性 2.3.2 CheckOnClick属性 2.3.3 ColumnWidth属性 2.3.4 Cursor属性 2.3.5 Dock属性 2.3.6 FormatStrin9和FormattingEnabled属性 2.3.7 HorizontalScroUBar和HorizontalExtent属性 2.3.8 ImeMode属性 2.3.9 IntegralHeight属性 2.3.10 Items属性 2.3.11 MaximumSize和MinimumSize属性 2.3.12 MultiColumn属性 2.3.13 RightToLefl属性 2.3.14 ScrollAlwaysVisible属性 2.3.15 SelectionMode属性 2.3.16 Sorted属性 2.3.17 ThreeDCheckBoxes属性 2.3.18 UseCustomTabOffsets属性

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧