社区
C#
帖子详情
如何刷新winform窗体内自定义的控件
probing
2004-10-31 01:30:28
自己写的一个控件,
里面包括了一个panel
现在我要在panel里面画一个矩形
现在我的做法是写了panel的paint事件处理函数
这样窗口载入时是可以的,
但是我再想改变这个矩形的大小就不知道怎么做了……
调用改变大小后调用refresh方法貌似不行
请大虾帮忙看一看
//对于这样的情况这种做法是否合适?常用的方法是什么样的?(偶刚学.net)
...全文
227
3
打赏
收藏
如何刷新winform窗体内自定义的控件
自己写的一个控件, 里面包括了一个panel 现在我要在panel里面画一个矩形 现在我的做法是写了panel的paint事件处理函数 这样窗口载入时是可以的, 但是我再想改变这个矩形的大小就不知道怎么做了…… 调用改变大小后调用refresh方法貌似不行 请大虾帮忙看一看 //对于这样的情况这种做法是否合适?常用的方法是什么样的?(偶刚学.net)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bacon_1982
2004-10-31
打赏
举报
回复
是这样的,不过补充一下,
Invalidate()只是让区域内的控件不再有效,但有时候会因为队列中等待处理的事件会导致实际调用OnPaint()的时延(控件很多的时候),所以在Invalidate后面调用Update()会立即调用Onpaint(),他会绘制任何无效的区域。
....panel1_resize(...){
this.panel1.Invalidate();
this.panel1.Update();
}
北京的雾霾天
2004-10-31
打赏
举报
回复
//试试如下的代码:
private void panel1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
e.Graphics.DrawRectangle(System.Drawing.SystemPens.ControlText, 5,5, this.panel1.Width-10, this.panel1.Height-10);
}
private void panel1_Resize(object sender, System.EventArgs e)
{
this.panel1.Invalidate();
}
北京的雾霾天
2004-10-31
打赏
举报
回复
用Invalidate();
或其重载的函数不可以吗?
C# 批量设置
WinForm
界面上的所有
控件
不可编辑
当
窗体
内的
控件
存在[ReadOnly]属性时,只设置[ReadOnly]属性,否则设置[Enabled]属性 方法中,List参数提供时,代表不修改其可编辑性,保持其状态为原始的可编辑或不可编辑 List, Boolean>>参数,布尔值表示是否...
C#
winform
运行时用户拖动
窗体
上
控件
大小位置
C#
winform
运行时用户拖动
窗体
上
控件
大小位置,可用于
自定义
窗体
上
控件
排版
Winform
多语言实现
使用单例模式封装了多语言处理类,json文件存储多语言关系,用后期用户可自行多语言翻译,每个页面初始化时添加多语言初始即可,自动把
窗体
内的所有
控件
进行多语言处理,可
自定义
对特殊
控件
的特殊处理,集中管理,...
winform
自定义
控件
的使用
c#的
自定义
控件
还是很方便的,至少相对于c++而言。 1,当然是建立一个windows
窗体
空间库,我这里就是用vs 2015 ,工程名MyControl 第二步。在
自定义
空间
窗体
内,拖放这样一组空间。我们发送编辑框的内容给父...
C#
自定义
控件
:
WinForm
将其它应用程序
窗体
嵌入自己内部
2、调用Windows API将启动的应用程序窗口嵌入
自定义
的
控件
(作者用的是Panel
控件
) 1 // Put it into this form 2 SetParent(appWin, this .Handle);// this在这里是Panel
控件
3 4 // Remove ...
C#
110,535
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章