C#里winform最大化时,如何使里面的控件按比例变化
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#里winform最大化时,如何使里面的控件按比例变化相关的知识,希望对你有一定的参考价值。
参考技术A winform没有这类的原生控件。想做的话只能后台使用等比缩放,即记录下原始窗体的长宽,当SizeChanged时候记录下新的长宽,然后将form中每个控件都按这个比例去放大或者缩小。
WPF中提供了原生的解决方案,ViewBox控件,ViewBox中的控件都会随着ViewBox的大小等比改变,而不需要其他额外操作。
C#界面里的winform AutoValidate和CausesValidation属性
C#界面里的winform AutoValidate和CausesValidation属性
AutoValidate属性是指示当焦点更改时是否自动验证此容器内的控件。
CausesValidation属性是指示控件是否会引起在任何需要在接收焦点时执行验证的控件上执行验证。
在开发软件时,经常需要防呆的操作。比如让用户输入数值时,结果用户输入字符串,那么就会导致非法的数据。
这时候就需要使用检验功能来实现判断用户的输入。
因此使用AutoValidate属性来设置是否需要自动检验,这个自动是指什么时候呢?
在这里一般是指控件当焦点失去的时候,因为用户输入数据,输完之后,它就需要移动到别的地方,
当移动走之前,在这一刻需要检查当前输入的数据是否有效。
AutoValidate属性所有可能设置的值如下:
Disable 0
将不进行隐式验证。 设置此值将不会妨碍对 Validate() 或 ValidateChildren() 的显式调用。
EnableAllowFocusChange 2
发生隐式验证,但如果验证失败,焦点仍将更改到新控件。 如果验证失败,将不激发 Validated 事件。
EnablePreventFocusChange 1
当控件失去焦点时发生隐式验证。
Inherit -1
控件从其容器(如窗体或其他控件)中继承它的 AutoValidate 行为。 如果没有容器控件,则它默认为 EnablePreventFocusChange。
CausesValidation属性是用来配置每一个控件是否在焦点失去时进行检验。
检验过程中,需要调用用户代码,那么就需要一个设置响应检验的
以上是关于C#里winform最大化时,如何使里面的控件按比例变化的主要内容,如果未能解决你的问题,请参考以下文章
C# winform程序开发,当点击最大化时,会将最上面那行控件遮挡住