public Form1()
{
InitializeComponent();
}
ArrayList list = new ArrayList();
private void Form1_Load(object sender, EventArgs e)
{
list.Add(this.panel1);
list.Add(this.panel2);
list.Add(this.panel3);
list.Add(this.panel4);
list.Add(this.panel5);
list.Add(this.panel6);
list.Add(this.panel7);
list.Add(this.panel8);
for (int i = 0; i < 8; i++)
{
dd = i.ToString();
Panel p = (Panel)list[i];
p.Paint+=new PaintEventHandler(p_Paint);
}
}
string dd = "";
private void p_Paint(object sender, PaintEventArgs e)
{
Panel p = (Panel)sender;
Graphics g = p.CreateGraphics();
System.Drawing.SolidBrush drawBrush = new System.Drawing.SolidBrush(System.Drawing.Color.Black);
System.Drawing.StringFormat drawFormat = new System.Drawing.StringFormat();
Font drawFont = new Font(FontFamily.GenericMonospace, 10, FontStyle.Bold);
g.DrawString(dd, drawFont, drawBrush, 0, 10, drawFormat);
}这段代码运行怎么每个面板上全是7啊
不是每个面板上分别是1234567吗?????
怎么修改才能达到这个效果啊???????
急急急啊????????
{
InitializeComponent();
}
ArrayList list = new ArrayList();
private void Form1_Load(object sender, EventArgs e)
{
list.Add(this.panel1);
list.Add(this.panel2);
list.Add(this.panel3);
list.Add(this.panel4);
list.Add(this.panel5);
list.Add(this.panel6);
list.Add(this.panel7);
list.Add(this.panel8);
for (int i = 0; i < 8; i++)
{
dd = i.ToString();
Panel p = (Panel)list[i];
p.Paint+=new PaintEventHandler(p_Paint);
}
}
string dd = "";
private void p_Paint(object sender, PaintEventArgs e)
{
Panel p = (Panel)sender;
Graphics g = p.CreateGraphics();
System.Drawing.SolidBrush drawBrush = new System.Drawing.SolidBrush(System.Drawing.Color.Black);
System.Drawing.StringFormat drawFormat = new System.Drawing.StringFormat();
Font drawFont = new Font(FontFamily.GenericMonospace, 10, FontStyle.Bold);
g.DrawString(dd, drawFont, drawBrush, 0, 10, drawFormat);
}这段代码运行怎么每个面板上全是7啊
不是每个面板上分别是1234567吗?????
怎么修改才能达到这个效果啊???????
急急急啊????????
解决方案 »
- 求多少个文本包含字串s
- C# 请教怎样得到输入汉字的五笔码(或笔画码)
- 如何自动的匹配已注册的图标(类似windows资源管理器)?
- 菜鸟提问:图片展示系统(单机版)
- 问一个在程序中指定图片路径的问题
- 求助C#方法将TXT格式转换为RAW格式
- 2003系统,我的3个系统帐户怎么在注册表里面找到呢??我在HKL_machine\sam\sam下没看到.
- windows2003 文件夹只读的问题,程序无法访问,如何解决?
- 请问如何使用C#抓取使用者在IE网址列输入的网址
- 救命啊,我的vs.net2003,现在对我说我的asp.net不是1.1的,连个webservice的项目都创建不了了 AOAO ~~
- winform打包加密问题求解
- “找不到请求的 .net Framework 数据提供程序。可能没有安装。” -- 如何解决
ArrayList list = new ArrayList(); private void Form1_Load(object sender, EventArgs e)
{
list.Add(this.panel1);
list.Add(this.panel2);
list.Add(this.panel3);
list.Add(this.panel4);
list.Add(this.panel5);
list.Add(this.panel6);
list.Add(this.panel7);
list.Add(this.panel8);
for (int i = 0; i < 8; i++)
{
Panel p = (Panel)list[i];
p.Tag = i.ToString();
p.Paint += new PaintEventHandler(p_Paint);
}
} private void p_Paint(object sender, PaintEventArgs e)
{
Panel p = (Panel)sender;
Graphics g = p.CreateGraphics(); System.Drawing.SolidBrush drawBrush = new System.Drawing.SolidBrush(System.Drawing.Color.Black);
System.Drawing.StringFormat drawFormat = new System.Drawing.StringFormat();
Font drawFont = new Font(FontFamily.GenericMonospace, 10, FontStyle.Bold);
g.DrawString(p.Tag.ToString(), drawFont, drawBrush, 0, 10, drawFormat);
}
{
dd = i.ToString();
Panel p = (Panel)list[i];
p.Paint+=new PaintEventHandler(p_Paint);
}
循环给一个变量赋值当然出来后就是最后一个值了;
用楼上的方法应该可以,也可以改成下面的方法,我试过了是可以的:ArrayList list = new ArrayList(); private void Form1_Load(object sender, EventArgs e)
{
list.Add(this.panel1);
list.Add(this.panel2);
list.Add(this.panel3);
list.Add(this.panel4);
list.Add(this.panel5);
list.Add(this.panel6);
list.Add(this.panel7);
list.Add(this.panel8);
for (int i = 0; i < 8; i++)
{
Panel p = (Panel)list[i];
p.Paint += new PaintEventHandler(p_Paint);
}
} private void p_Paint(object sender, PaintEventArgs e)
{
Panel p = (Panel)sender;
Graphics g = p.CreateGraphics(); System.Drawing.SolidBrush drawBrush = new System.Drawing.SolidBrush(System.Drawing.Color.Black);
System.Drawing.StringFormat drawFormat = new System.Drawing.StringFormat();
Font drawFont = new Font(FontFamily.GenericMonospace, 10, FontStyle.Bold);
g.DrawString(list.IndexOf(sender).ToString(), drawFont, drawBrush, 0, 10, drawFormat);
}