winfrom的一些问题初学者求教!

cw19931024 2014-07-24 09:01:04
小弟是北大青鸟刚开始学习windfrom的,有一些问题至今搞不懂为什么原因求解
1,如图所示,为什么我窗口背景变成了这个样子?原图是我截的图添加进来的。
2,SideBar这个第三方控件如何使用?现在结业项目要做一个QQ项目。我打算完全模仿QQ2014的界面编写。这个控件和我学过的那个大小视图控件感觉差不多,就是不知道那个ListView能完全弄出来不?还是只有这个SideBar能模仿出来?
3.SideBar到底如何使用?现在我知道用代码添加分组但是其它的就不知道了。比如如何在这个组里面添加其它的东西。添加组织用动态添加吗?不能直接在属性里面添加么?另外求这个控件的用法即代码例子。希望有大神能解答。希望做个朋友以后可以多交流有什么不懂的我也想求解下。。
还有个问题哈,代码添加按钮背景我实在不知道如何用更简单的办法。
for(int i =0 ;i<50;i++)
{
this.box(i).BackgroundImage = System.Drawing.Image.FromFile("{0}.png",i);
}
大概就是这样写的。
用过for循环发现不可以。不知道是不是我的代码错误。但貌似按钮的Name不可以将I代入进去把?
那用什么方法比较好呢??
我知道用那个
foreach(Control item in this.Controls)
{
if(item is TextBox)
{
((TextBox)item).Text="";
}
}
类是清空的代码应该可以实现。但是我动态代码添加背景的是我自己做的小键盘。这几十个键我是放在panel里的,panel我是放在窗体显示隐藏的。这个foreach如何能判断只循环添加panel里面的按钮背景?。自己当初做这个小键盘用了傻办法,自己的键盘按钮是自己手动加了50多个按钮。。。
现在有没有代码能循环添加按钮控件呢?顺便求下代码。。
...全文
140 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cw19931024 2014-07-27
  • 打赏
  • 举报
回复
引用 6 楼 wind_cloud2011 的回复:
SideBar网上有例子,找找
http://www.cnblogs.com/whtydn/archive/2009/03/19/1416498.html,

可以像QQ这样显示吗?大视图为什么是图片在上,昵称在下??
wind_cloud2011 2014-07-24
  • 打赏
  • 举报
回复
SideBar网上有例子,找找 http://www.cnblogs.com/whtydn/archive/2009/03/19/1416498.html,
wind_cloud2011 2014-07-24
  • 打赏
  • 举报
回复
按钮控件数组

  int num = 0;
            Button[]  bt=new Button[50];        
            for (int i = 0; i < bt.Length; i++)
            {
                int h = num / 10;
                int v = num % 10;
                bt[i] = new Button();
                bt[i].Name = "Button" + Convert.ToString(i + 1);
                bt[i].BackColor = Color.Black;
                bt[i].Size = new System.Drawing.Size(50, 50);                
                bt[i].Location = new Point(h * 150 + 50, v * 150 + 50);
                groupBox1.Controls.Add(bt[i]);
                num++;
            }

wind_cloud2011 2014-07-24
  • 打赏
  • 举报
回复
是picturebox控件数组,方式差不多
cw19931024 2014-07-24
  • 打赏
  • 举报
回复
引用 1 楼 wind_cloud2011 的回复:
int num = 0; PictureBox[] pic = new PictureBox[50]; for (int i = 0; i < pic.Length; i++) { int h = num / 10; int v = num % 10; pic[i] = new PictureBox(); pic[i].Name = "PictureBox" + Convert.ToString(i + 1); pic[i].BackColor = Color.Black; pic[i].Size = new System.Drawing.Size(50, 50); pic[i].BackgroundImage = Image.FromFile("image\\"+i+".png"); pic[i].Location = new Point(h * 150 + 50, v * 150 + 50); groupBox1.Controls.Add(pic[i]); num++; }
好像看起来是创建一个按钮控件数组。是这样吗??那能问下其它的问题你能解决吗?
cw19931024 2014-07-24
  • 打赏
  • 举报
回复
引用 楼主 cw19931024 的回复:
小弟是北大青鸟刚开始学习windfrom的,有一些问题至今搞不懂为什么原因求解 1,如图所示,为什么我窗口背景变成了这个样子?原图是我截的图添加进来的。 2,SideBar这个第三方控件如何使用?现在结业项目要做一个QQ项目。我打算完全模仿QQ2014的界面编写。这个控件和我学过的那个大小视图控件感觉差不多,就是不知道那个ListView能完全弄出来不?还是只有这个SideBar能模仿出来? 3.SideBar到底如何使用?现在我知道用代码添加分组但是其它的就不知道了。比如如何在这个组里面添加其它的东西。添加组织用动态添加吗?不能直接在属性里面添加么?另外求这个控件的用法即代码例子。希望有大神能解答。希望做个朋友以后可以多交流有什么不懂的我也想求解下。。 还有个问题哈,代码添加按钮背景我实在不知道如何用更简单的办法。 for(int i =0 ;i<50;i++) { this.box(i).BackgroundImage = System.Drawing.Image.FromFile("{0}.png",i); } 大概就是这样写的。 用过for循环发现不可以。不知道是不是我的代码错误。但貌似按钮的Name不可以将I代入进去把? 那用什么方法比较好呢?? 我知道用那个 foreach(Control item in this.Controls) { if(item is TextBox) { ((TextBox)item).Text=""; } } 类是清空的代码应该可以实现。但是我动态代码添加背景的是我自己做的小键盘。这几十个键我是放在panel里的,panel我是放在窗体显示隐藏的。这个foreach如何能判断只循环添加panel里面的按钮背景?。自己当初做这个小键盘用了傻办法,自己的键盘按钮是自己手动加了50多个按钮。。。 现在有没有代码能循环添加按钮控件呢?顺便求下代码。。
这个我好像看起来是创建一个按钮控件数组。是这样吗??那能问下其它的问题你能解决吗?
wind_cloud2011 2014-07-24
  • 打赏
  • 举报
回复
int num = 0; PictureBox[] pic = new PictureBox[50]; for (int i = 0; i < pic.Length; i++) { int h = num / 10; int v = num % 10; pic[i] = new PictureBox(); pic[i].Name = "PictureBox" + Convert.ToString(i + 1); pic[i].BackColor = Color.Black; pic[i].Size = new System.Drawing.Size(50, 50); pic[i].BackgroundImage = Image.FromFile("image\\"+i+".png"); pic[i].Location = new Point(h * 150 + 50, v * 150 + 50); groupBox1.Controls.Add(pic[i]); num++; }

110,532

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧