c#为什么在代码里面无法改变窗体大小

我在formload里面
this.Width = 500;
this.Height = 500;
但是 不起作用?
我加了一个button写这个代码也不起作用
什么原因呀? 请高手指点,谢谢了
form的属性:formborderstyle=sizable
autosize=false
autosizemode=growonly
窗体可以鼠标改变大小

应该是其他地方的问题,这个理论上是可以实现的。你仔细检查下Form的属性。MaximumSize和MinimunSize属性,应该只有这个属性能够影响到大小问题。追问

窗体全屏的时候 不起作用 ,但是 一旦不是全屏了就起作用了?
啥原因,真是奇怪? 这位大哥,请指点指点

追答

你写在按钮响应里面的?

追问

BtnPrint.Click += (o, e) =>
{
this.Size = new Size(970, 515);
PrintViewForm frmPreview = new PrintViewForm();
frmPreview.Document = printDocument1;
frmPreview.ShowDialog();
dataSearchInfo.Columns["btnOpenFile"].Visible = true;
};

追答

把下面这句放到你重新设置大小之前。
if (this.WindowState == FormWindowState.Maximized)
this.WindowState = FormWindowState.Normal;

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-07-10
你是写在了InitializeComponent()之前还是之后?需要写在其之后。
public MainForm()
{
InitializeComponent();
this.Width = 100;
this.Height = 100;
}追问

我自己加的 button
那个 应该是在
InitializeComponent();

之后的呀

追答

打个断点,跟一下,看Width 和Height在哪里被改写过!

第2个回答  2012-07-10
你的描述太不清晰了,没法分析。追问

很简单,窗体运行后是全屏的,点一个按钮。窗体就变成A4纸的大小,以便打印

追答

你这样试试,设置窗体的大小为a4,在窗体初始化的适合设置
this.WindowState = FormWindowState.Maximized;
点击button时,设置成
this.WindowState = FormWindowState.Minimized;。
看行不行。

第3个回答  2012-07-10
应该是这样子写
this.Size = new Size(500,600); //500,600 自己定吧!追问

不行呀
这个我也试过了

追答

不可能没用的
你把你代码贴出来

第4个回答  2012-07-10
在formresize里写追问

能写详细点吗?大哥

追答

修改:
private void Form1_Load(object sender, EventArgs e)
{
...//其他load代码
this.MaximumSize = new Size(500, 500);//还不行的话,改为this.MinimumSize = new Size(500, 500);
this.Size = new Size(500,500);
}

追问

这位大哥的 的方法可以实现。就是用了之后怎么复原窗体大小呀?

追答

重新写这个函数就可以了。
声明:Size fs = this.Size;
过程:
Size s = this.MaximumSize;
this.MaximumSize = new Size(500, 500);
this.Size = new Size(500,500);
this.MaximumSize = s;
之后调用这个复原窗体大小:
this.Size = fs;
最大化没问题。可以用鼠标修改大小。全屏应该没问题了。
ps:只是出去一下,回来就看到已经有答案了。

c#为什么在代码里面无法改变窗体大小
应该是其他地方的问题,这个理论上是可以实现的。你仔细检查下Form的属性。MaximumSize和MinimunSize属性,应该只有这个属性能够影响到大小问题。

C#中,怎么禁止窗体大小变化??
窗口就固定为600*400的大小了,但因为该属性为只读属性,所以不能在代码中更改.

C# Winform 窗体设计视图 窗体大小不能调整
如果您说的是在设计时不容许改变窗体大小只需要在窗体设计器上右击 -> 锁定窗体就行了,或者更改窗体设计器的Locked属性为“true”就能实现;如果您要在程序运行的时候不容许改变其窗体的大小则设置窗体的FormBorderStyle为showDialog就可以实现!谢谢采纳!

c# label控件怎么不能改大小啊
c# label控件不能改大小是属性设置错误,解决方法如下:1、点击图标打开,点击无需代码。2、创建后新建项目选中窗体。3、点击工具箱的公共控件。4、双击label。5、点击label找到他的autosize,选中false。6、这时候就可以改变大小。

C#窗体和容器控件无法放大缩小
看下有没有设置了 FORM的FixedToolWindow属性。GroupBox 在程序运行的时候本来就不能用鼠标拖动放大 或者缩小

如何设置C#窗体大小不能改变
winform FormBorderStyle属性设置为“SizableToolWindow”就不能拉伸窗口了,同时不能最小化和最大化,设置为“FixedSingle”可以有最大化和最小化按钮,但是不能拉伸窗口,逍遥在此属性下禁用最大化和最小化MaximizeBox 和 MinimizeBox属性来禁止按钮 wpf ResizeMode属性设置为“NoResize”即可 ...

C# 运行后窗体大小和预期设置的不一样
不会啊,已测试过,没有任何问题,是按照初始设置窗口的尺寸大小显示的,你是不是设置其他什么属性了,比如自动调整窗口大小,或是自动伸缩之类的... 本回答由提问者推荐 举报| 答案纠错 | 评论(1) 0 11 super_syc 采纳率:62% 来自团队:网站学堂 擅长: C#\/.NET Html\/Css JavaScript 企业信息化 其他...

c# 动态修改窗体大小
在C#中使用winform布局的时候,拖一个datagridview到窗体上面,将datagridview调整为适合窗体的大小。但是运行之后,点击最大化按钮的时候,发现datagridview的大小没有随着窗体的大小而变化。这时候需要设置一下datagridview的相应属性就可以实现,将Anchor的属性设置为TOP,BOTTOM,LEFT,RIGHT,并且将DOCK属性设置...

C# 实现窗体不能最大化
修改FormBorderStyle这个属性,改成FixedSingle,不可拖拽改变大小,双击标题栏也不行 修改MaximizeBox这个属性,最大化按钮不可用。

C#为什么子窗体size大小有限制
子窗体的边缘跑到panel外边就被遮挡住,看不见,你的子窗超高了实际上是加上去了,但超出panel的部分不显示

相似回答