社区
分析与设计
帖子详情
winform里的控件加载问题。
ChinaZS
2006-11-07 02:31:05
想加载动态的工具栏控件,请指教。
就是类似QQ的那种,可以实现在好友和群,通讯录等之间切换的那种控件。
...全文
218
4
打赏
收藏
winform里的控件加载问题。
想加载动态的工具栏控件,请指教。 就是类似QQ的那种,可以实现在好友和群,通讯录等之间切换的那种控件。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lizhizhe2000
2006-11-10
打赏
举报
回复
如果想省事,还是找找相应的控件吧,网上有很多 4
feixue_XXXX
2006-11-10
打赏
举报
回复
一般要设计接口然后在程序体启动 时动态加载
股神
2006-11-07
打赏
举报
回复
顶
早起晚睡
2006-11-07
打赏
举报
回复
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
/*
* 算法简述(主要分为如下三个步骤):
*
* 1、首先将该按钮上面的按钮推上去(相当于点击被“推上去”的这个按钮),在推动的过程中,
* 如果被推动的按钮的上面还有另一个按钮,则重复这个过程(步骤 1)
* 2、然后将自己推上去
* 3、最后将该按钮下面的按钮推下去(相当于点击被“推下去”的这个按钮),在推动的过程中,
* 如果被推动的按钮的上面还有另一个按钮,则重复这个过程(步骤 3)
*
* 整个过程就像你站在队伍中,你想前进,首先你得告诉站在你前面的人前进,然后你必须等待,直到你前面的人
* 前进之后你才能够前进。(你前面的人同样必须和你做同样的事,这个过程直到传达到第一个人为止)
*
*
*
* 还没有明白吗?没关系,我们来举例说明这个算法:
* 为了方便理解程序,我们以“按钮1”、“按钮2”、“按钮3”和“按钮4”这四个从上到下依次排列的按钮为例,
* 我们假设“按钮3”被点击:
* 1、将“按钮1”推到最顶端
* 2、将“按钮2”推到“按钮1”的下方。
* 3、将自己(“按钮3”)推上去;
* 4、将“按钮4”推下去。
*
*
* 本程序中主要运用了属性的特点。
* 因为使用的是中文编程,所以就不再详细说明了。
*/
namespace QQ3000
{
///
/// Summary description for Form1.
///
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Button 按钮_我的好友;
private System.Windows.Forms.Button 按钮_陌生人;
private System.Windows.Forms.Button 按钮_黑名单;
private int 陌生人
{
get
{
return 按钮_陌生人.Top;
}
set
{
if( value < 按钮_陌生人.Top )
{
按钮_陌生人.Top = 按钮_我的好友.Top + 按钮_我的好友.Height;
}
else
{
黑名单 ++;
按钮_陌生人.Top = 按钮_黑名单.Top - 按钮_陌生人.Height;
}
}
}
private int 黑名单
{
get
{
return 按钮_黑名单.Top;
}
set
{
if( value < 按钮_黑名单.Top )
{
陌生人 --;
按钮_黑名单.Top = 按钮_陌生人.Bottom + 1;
}
else
{
按钮_黑名单.Top = groupBox1.Height - 按钮_陌生人.Height;
}
}
}
///
/// Required designer variable.
///
private System.ComponentModel.Container components = null;
public Form1()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
//
// TODO: Add any constructor code after InitializeComponent call
//
}
///
/// Clean up any resources being used.
///
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
///
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
///
private void InitializeComponent()
{
this.按钮_黑名单 = new System.Windows.Forms.Button();
this.按钮_陌生人 = new System.Windows.Forms.Button();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.按钮_我的好友 = new System.Windows.Forms.Button();
this.groupBox1.SuspendLayout();
this.SuspendLayout();
//
// 按钮_黑名单
//
this.按钮_黑名单.Anchor = ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right);
this.按钮_黑名单.Location = new System.Drawing.Point(0, 48);
this.按钮_黑名单.Name = "按钮_黑名单";
this.按钮_黑名单.Size = new System.Drawing.Size(97, 24);
this.按钮_黑名单.TabIndex = 2;
this.按钮_黑名单.Text = "黑 名 单";
this.按钮_黑名单.Click += new System.EventHandler(this.按钮_黑名单_单击);
//
// 按钮_陌生人
//
this.按钮_陌生人.Anchor = ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right);
this.按钮_陌生人.Location = new System.Drawing.Point(0, 24);
this.按钮_陌生人.Name = "按钮_陌生人";
this.按钮_陌生人.Size = new System.Drawing.Size(97, 24);
this.按钮_陌生人.TabIndex = 1;
this.按钮_陌生人.Text = "陌 生 人";
this.按钮_陌生人.Click += new System.EventHandler(this.按钮_陌生人_单击);
//
// groupBox1
//
this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right);
this.groupBox1.Controls.AddRange(new System.Windows.Forms.Control[] {
this.按钮_黑名单,
this.按钮_陌生人,
this.按钮_我的好友});
this.groupBox1.Location = new System.Drawing.Point(8, 8);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(97, 352);
this.groupBox1.TabIndex = 0;
this.groupBox1.TabStop = false;
//
// 按钮_我的好友
//
this.按钮_我的好友.Anchor = ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right);
this.按钮_我的好友.Name = "按钮_我的好友";
this.按钮_我的好友.Size = new System.Drawing.Size(97, 24);
this.按钮_我的好友.TabIndex = 0;
this.按钮_我的好友.Text = "我 的 好 友";
this.按钮_我的好友.Click += new System.EventHandler(this.按钮_我的好友_单击);
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(113, 378);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.groupBox1});
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "Form1";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "QQ3000";
this.groupBox1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
///
/// The main entry point for the application.
///
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void 按钮_我的好友_单击(object sender, System.EventArgs e)
{
陌生人 ++;
}
private void 按钮_陌生人_单击(object sender, System.EventArgs e)
{
陌生人 --;
黑名单 ++;
}
private void 按钮_黑名单_单击(object sender, System.EventArgs e)
{
陌生人 --;
黑名单 --;
}
}
}
供参考
解决WPF
加载
Winform
控件
时的显示遮挡
问题
WPF
加载
Winform
控件
时会出现显示层级
问题
,如
加载
视频流用
Winform
的PictureBox
控件
,再添加控制按钮等WPF
控件
会被遮挡。可利用WPF的Popup
控件
解决层级
问题
,但该
控件
有特殊性,可引用自定义Popup
控件
解决其移动和始终居上
问题
。
WinForm
(一)
WinForm
入门与基本
控件
使用
本文详细介绍了C#
WinForm
的基本概念、项目结构、
控件
布局、事件处理、时间显示器小练习及布局开发。
WinForm
是.NET Framework的客户端开发技术,支持可视化设计,通过Windows窗体应用程序项目创建UI。文章讲解了
控件
的添加、事件的绑定、自定义布局以及常用的
控件
如TextBox、CheckBox、ComboBox和ListBox的使用。此外,还涉及了图片资源的
加载
和图片框
控件
的应用。
关于
winForm
界面
控件
和图片
加载
时出现闪屏的
问题
本文介绍了作者在开发
WinForm
项目时遇到的界面
控件
加载
图片闪屏
问题
,尝试了多种常见解决方案如设置DoubleBuffer、事件处理等,但效果不佳。
问题
的根源在于
控件
尺寸变化导致的图片闪烁。最终,通过在创建
控件
后立即调整其大小以匹配容器大小,成功解决了闪屏
问题
,强调了解决此类
问题
的关键在于找到
问题
的根本原因。
提高DevExpress
winform
控件
加载
速度
本文分享了DevExpress
WinForm
控件
在
加载
速度上的优化技巧,包括使用BeginUpdate和EndUpdate减少界面刷新,以及在数据量庞大时采用linqServerModeSource作为数据源
控件
,以提升GridView的性能。
Winform
窗体拆分、用户自定义
控件
、动态
加载
控件
、
控件
居中
本文介绍了
Winform
应用中如何进行窗体拆分、创建用户自定义
控件
、动态
加载
控件
以及实现
控件
居中的步骤。通过设置SplitContainer
控件
实现窗体的水平和垂直分割,自定义用户
控件
添加所需功能,动态
加载
到窗体指定位置,并确保
控件
随窗体大小变化保持居中。
分析与设计
13,189
社区成员
5,759
社区内容
发帖
与我相关
我的任务
分析与设计
.NET技术 分析与设计
复制链接
扫一扫
分享
社区描述
.NET技术 分析与设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章