思路:
创新互联建站是一家集网站建设,坊子企业网站建设,坊子品牌网站建设,网站定制,坊子网站建设报价,网络营销,网络优化,坊子网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
利用几个可以作为容器的控件,添加滚动条就可以了:
我举个例子:(这个问题我记得回答过的!)
添加1个PicTureBox1,作为容器
在PicTureBox1里添加PicTureBox2,在窗体上添加一个垂直滚动条。
把你所谓的许多控件放到PicTureBox2里,滚动条改变的是PicTureBox2在PicTureBox1里的Top属性,我想你通过一定的空间想象力,可以想到效果了吧?
注意:默认状态设置PicTureBox2的Top属性为0,当该属性为负值的时候,PicTureBox2显示的效果是向上移动,即下面原来隐藏的内容为可见了。
要设置PicTureBox2的AutoRedraw 属性为True。
若要左右移动效果,那么改变其 Left 属性,原理不再赘述了。
有:
HScrollBar ---- 水平滚动条
VScrollBar ---- 垂直滚动条
建立滚动条的方法如下:
(1)将鼠标移到ToolBox内的WinForm标签页的HscrollBar控件上,单击鼠标左键。
(2)将指针移至窗体中适当的位置,按住鼠标左键并拖动鼠标将HscrollBar控件调整到合适的大小放开左键。
(3)同样,再在Form上设置一个VscrollBar控件。
VB.NET没写过,C#的倒是经常用,你看看能不能有所启发
void Creact() //创建4*5格=20个按钮的键盘
{
const int width=Convert.ToInt32(this.panel1.Width/20);
const int height=Convert.ToInt32(this.panel1.Width/25);
for(int i=1;i=5;i++)
{
for(int j=1;j=4;j++)
{
Button b=new Button();
b.Name="btn"+i.ToString()+j.ToString();
b.Left=40*j;
b.Top=30*i;
b..... //位置设置
b.Text=CortoEnglist(i+j+65);//转换字母键函数略写
...
//加入鼠标事件
b.MouseDown+=new MouseHandler(btn_mousedown);
b.MouseUp+=new MouseHandler(btn_mouseup);
b.MouseLeave+=new MouseHandler(btn_mouseleave);
b.MouseMove+=new MouseHandler(btn_mousemove);
this.panel1.Controls.Add(b)
}
}
}
public int Bealoon br=false; //判断是否按下全局变量
void btn_mousedown(object sender,MouseEventArgs e) //鼠标按下开始计算
{
br=true;
}
void btn_mouseleave(object sender,MouseEventArgs e) //鼠标移开就结束
{
br=false;
}
void btn_mouseup(object sender,MouseEventArgs e) //鼠标弹起也会结束
{
br=false; //跟移开不重复,你按下不松手去按另一个发现他就不会弹起,所以要加这个事件
}
void btn_mousemove(object sender,MouseEventArgs e) //按下状态拖动就有效
{
if(br==true)
{
((Button)sender).Left+=e.X;
((Button)sender).Top+=e.Y;
}
}这样我I就给一组按钮加了拖动状态