C# Winform 窗体设计 设计时 窗体大小不能调整
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# Winform 窗体设计 设计时 窗体大小不能调整相关的知识,希望对你有一定的参考价值。
如题,我在设计窗体的时候,突然不能调整窗体的宽度表现一:不能直接用鼠标拉长表现二:直接调整窗体的Size属性无效(编辑结束后,就变回本来的大小)表现三:貌似我的其他的窗体都是同样的状况(其他窗体我没有进行编辑,就算有的话也不会全部出现这种状况)怀疑一:我进行了某个操作,但是我不知道 现求解决方案
如果您说的是在设计时不容许改变窗体大小只需要在窗体设计器上右击 -> 锁定窗体就行了,或者更改窗体设计器的Locked属性为“true”就能实现;如果您要在程序运行的时候不容许改变其窗体的大小则设置窗体的FormBorderStyle为showDialog就可以实现!谢谢采纳! 参考技术A 我的也是修改Size属性无效,最后发现应该这样改。在设计模式下修改窗体属性:AutoScroll 为 true,就会在窗体上出现滚动条,拉动滚动条就可以看到整个窗体。 参考技术B 看看是不是把AutoSizeMode属性设置为GrowAndShrink了 参考技术C 也许没有你想的那么复杂,看看窗体的FormBorderStyle属性是不是FixedSingle?这个FormBorderStyle属性是固定窗体大小的 参考技术D FormBorderStyle=None 感觉像是C# 的BUG ...C# winform改变窗体大小时背景图片出现重叠怎么解决
小白请教
参考技术A 没刷新过来吧追问改变一下窗体大小背景图片就拉成这样,不是没刷新过来。。。
参考技术B 改变窗体大小后有强制update()吗?追问有。那个是一个MDI的父窗体,我是在这个父窗体的窗体大小改变事件里加的,但还是不行。
之后又在父窗体的窗体大小改变事件里加多了两行,重叠现象倒解决,但却出现另一个问题,拉动窗体改变大小闪烁的厉害。。
那是因为你的update 加的地方不对.
图形滞留在哪个窗体 就强制哪个窗体update
闪烁是因为update被多次调用导致的.
你试试在对应的窗体 paint 事件下 写
this.update();
好像没放错啊,就是图中的“图像查看器”那个窗体(form09)。。。
paint 事件下 写this.update();也不行。
我的意思不是你放错了.
而且说update的放置处理方式不恰当.
比如你放在sizechanged中, 只要你鼠标拖动一下, 这个事件就会被触发. 那么你拖动过程中就会连续触发update. 为了避免这种情况.
你可以限制拖动改变窗体尺寸.
或者把update放在其他事件触发当中, 比如窗体的激活等
也或者把update作为用户主动调用方法, 放在刷新按钮等等方式里.
==============
只要你的update触发设计的不好, 被频繁触发, winform下无论你怎么设置buffer, 都会闪烁的. 从你改变尺寸的方式来看, 你的WM_PAINT消息结构的中RECT就是整块区域. 这就只能从设计技巧入手去改变这种情况.
否则你的窗体就只能使用DX来绘制. 这就什么都可以解决了, 但是就无法像Winform一样那样简单的使用控件.
就是一个MDI界面的父窗体设置了背景图片,在拉动窗体边框改变大小时背景图片没随窗体的变化而变化,出现了图中的现象。背景图像布局为“Stretch”,但我觉得这个没关系,因为不把窗体设置MDI父窗体时就正常了。
追答Form的构造函数里加这个有用吗:
this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);本回答被提问者采纳以上是关于C# Winform 窗体设计 设计时 窗体大小不能调整的主要内容,如果未能解决你的问题,请参考以下文章