/// <summary>
/// 动态绘制数组,增加按钮
/// </summary>
private void CreateArray()
{
string name;
int mapW = int.Parse(imgBox.Width.ToString());//地图宽度
int mapH = int.Parse(imgBox.Height.ToString());//地图高度
int ArrayXCount = getArrayCount(mapW, gridW);//数组X纬度
int ArrayYCount = getArrayCount(mapH, gridH);//数组Y纬度
for (int i = 0; i < ArrayXCount; i++)
{
for (int h = 0; h < ArrayYCount; h++)
{
Button myButton = new Button();
this.panel1.AutoScroll = true;
name = i.ToString() + "|" + h.ToString();//以X和Y取按钮名
myButton.Text = "0";
myButton.Name = name;
myButton.Height = gridH;//设置按钮高
myButton.Width = gridW;//设置按钮宽
myButton.Location = new Point(gridH * h, gridW * i);
myButton.BackColor = Color.Red;
myButton.Click += new System.EventHandler(this.btn_Click);//设置单击事件
this.panel1.Controls.Add(myButton);//把图片对象加载到面板
}
}
this.panel1.Controls.Add(this.imgBox);//把图片对象加载到面板
textBox1.Text = "宽:" + this.imgBox.Width.ToString() + "高:" + this.imgBox.Height.ToString();
}
/// 动态绘制数组,增加按钮
/// </summary>
private void CreateArray()
{
string name;
int mapW = int.Parse(imgBox.Width.ToString());//地图宽度
int mapH = int.Parse(imgBox.Height.ToString());//地图高度
int ArrayXCount = getArrayCount(mapW, gridW);//数组X纬度
int ArrayYCount = getArrayCount(mapH, gridH);//数组Y纬度
for (int i = 0; i < ArrayXCount; i++)
{
for (int h = 0; h < ArrayYCount; h++)
{
Button myButton = new Button();
this.panel1.AutoScroll = true;
name = i.ToString() + "|" + h.ToString();//以X和Y取按钮名
myButton.Text = "0";
myButton.Name = name;
myButton.Height = gridH;//设置按钮高
myButton.Width = gridW;//设置按钮宽
myButton.Location = new Point(gridH * h, gridW * i);
myButton.BackColor = Color.Red;
myButton.Click += new System.EventHandler(this.btn_Click);//设置单击事件
this.panel1.Controls.Add(myButton);//把图片对象加载到面板
}
}
this.panel1.Controls.Add(this.imgBox);//把图片对象加载到面板
textBox1.Text = "宽:" + this.imgBox.Width.ToString() + "高:" + this.imgBox.Height.ToString();
}
解决方案 »
- 【技术求助】c# c/s程序 客户端程序如何验证服务器端是否启动了某项服务?
- 我想直接修改datagridview中的数据,但是不能实现功能代码如下
- C#中怎么获取PCI信息。。
- 一个nunit的简单问题
- 兄弟们 helpme
- 继承CollectionBase的类绑DataGrid,怎样实现增加删除?
- 类似金山词霸的鼠标放上去就能显示该词语的智能翻译器功能如果做啊?高手请帮忙
- net从客户端里显示网页
- 为什么不能控制excel ???????????????????????
- .Net+SQLSERVER||VFP+SQLSERVER
- 有关于获取本地电脑上所有驱动信息......................
- 讨论个SQL异常的问题
动态创建按钮多了就会很慢
而且panel里放pictureBox
我移动panel图片会卡
如何用为图代替?
for (int h = 0; h < ArrayYCount; h++)
{
Button myButton = new Button();
this.panel1.AutoScroll = true;
name = i.ToString() + "|" + h.ToString();//以X和Y取按钮名
myButton.Text = "0";
myButton.Name = name;
myButton.Height = gridH;//设置按钮高
myButton.Width = gridW;//设置按钮宽
myButton.Location = new Point(gridH * h, gridW * i);
myButton.BackColor = Color.Red;
myButton.Click += new System.EventHandler(this.btn_Click);//设置单击事件
this.panel1.Controls.Add(myButton);//把图片对象加载到面板
}
我发现就是这句
加上会很卡
只要加载到面板里就卡
怎么解决?
自己写个组件,实现IComponent就可以了
假设现在是扫雷
大家扫雷上的按钮是怎么处理的?
创建多了会很卡
有什么好的解决办法?
用位图?有简单例子吗?
你可以买本游戏编程的书看看,就知道为什么c++的时候。大家做游戏都是sdk编程了。做连连看总不会放一堆的按钮吧。