vs2008,c#,我想修改窗口控件的位置和大小。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vs2008,c#,我想修改窗口控件的位置和大小。相关的知识,希望对你有一定的参考价值。

vs2008,c#,我想修改窗口控件的位置和大小,但是在XXX.designer.cs中修改没有用,修改属性中size的值,始终会恢复成原来的,这是什么原因,有什么解决方法吗?

参考技术A 你可以把属性中
autosize的值改成false,就是说把自动大小关了,然后再改size,就不会自动恢复原来的大小了。

VS C++ MFC 控件怎么修改大小?属性里 没有size一项。。难道只能用鼠标去拉着看左下角的坐标和大小吗??

写错了。。是 难道只能用鼠标拉着看右下角的坐标和大小码?

MFC中的控件大小是可以修改的,但是有点麻烦,具体方法如下:
CWnd类的函数MoveWindow()或SetWindowPos()可以改变控件的大小和位置。
void MoveWindow(int x,int y,int nWidth,int nHeight);void MoveWindow(LPCRECT lpRect);第一种用法需给出控件新的坐标和宽度、高度;第二种用法给出存放位置的CRect对象;例:CWnd *pWnd;pWnd = GetDlgItem( IDC_EDIT1 ); //获取控件指针,IDC_EDIT1为控件ID号pWnd->MoveWindow( CRect(0,0,100,100) ); //在窗口左上角显示一个宽100、高100的编辑控件
SetWindowPos()函数使用更灵活,多用于只修改控件位置而大小不变或只修改大小而位置不变的情况:BOOL SetWindowPos(const CWnd* pWndInsertAfter,int x,int y,int cx,int cy,UINT nFlags);第一个参数我不会用,一般设为NULL;x、y控件位置;cx、cy控件宽度和高度;nFlags常用取值:SWP_NOZORDER:忽略第一个参数;SWP_NOMOVE:忽略x、y,维持位置不变;SWP_NOSIZE:忽略cx、cy,维持大小不变;例:CWnd *pWnd;pWnd = GetDlgItem( IDC_BUTTON1 ); //获取控件指针,IDC_BUTTON1为控件ID号pWnd->SetWindowPos( NULL,50,80,0,0,SWP_NOZORDER | SWP_NOSIZE ); //把按钮移到窗口的(50,80)处pWnd = GetDlgItem( IDC_EDIT1 );pWnd->SetWindowPos( NULL,0,0,100,80,SWP_NOZORDER | SWP_NOMOVE ); //把编辑控件的大小设为(100,80),位置不变pWnd = GetDlgItem( IDC_EDIT1 );pWnd->SetWindowPos( NULL,0,0,100,80,SWP_NOZORDER ); //编辑控件的大小和位置都改变以上方法也适用于各种窗口。
参考技术A 如果你之前有了很好的布局构想,就在 .rc文件里改吧,用编辑器打开,你应该能认识;
单纯调整的话,资源编辑时,界面里不是有 排列、对其的按钮么?你没看到?追问

我选择控件后,右下角是可以看到 控件 “相对坐标”和“控件长宽像素比” 但是我想类似VB一样 手动输入数值更改 他的坐标和长宽像素比。找不到地方输入。。更改rc又太麻烦了。
我不是想排列和对齐。。那些我知道。。

参考技术B

不是,在资源视图中,右下角状态栏中是显示控件的大小的,选中控件后都可以看到;

而控件的位置则是这样:

    如果你没有额外的代码控制并且说有控件都是可见的,会按照你资源模板上的位置和大小显示;

    如果你的代码中有额外控制的,比如说调用过MoveWindow或者SetWindowPos函数,会显示在你指定的位置上(注意坐标系的转换)

希望对你有所帮助

追问

我选择控件后,右下角是可以看到 控件 “相对坐标”和“控件长宽像素比”
但是我想类似VB一样 手动输入数值更改 他的坐标和长宽像素比。
找不到地方输入。。更改rc又太麻烦了。

追答

这个没法了,只能在代码中调用MoveWindow或者SetWindowPos了,这两个里面的参数中包含了你要输入的那些数据,可以研究研究

本回答被提问者采纳

以上是关于vs2008,c#,我想修改窗口控件的位置和大小。的主要内容,如果未能解决你的问题,请参考以下文章

C#,实现窗口大小改变时窗口内的控件自动调整位置和大小时,groupbox内的控件为啥不自动调整

C#,实现窗口大小改变时窗口内的控件自动调整位置和大小时,groupbox内的控件为啥不自动调整??求解

c# winform 窗口大小 控件位置

VS2008中怎样修改MFC界面 字体大小

VS控件大小随窗体大小等比例放大或缩小

WebView 控件怎么设置显示位置和大小