在窗体内点击按钮显示不同的文字或者按钮图片,刚开始我的做法就是又添加一个面板,然后点击对应按钮显示对应的窗体,结果发现太麻烦了。后来请教了学长,发现真的非常的简单(虽然我当时弄了很久,hhh),这里呢,同样是以三个按钮为例子。
这里就是点击左边的按钮在右边的框框里面显示我需要的文字啦!先做三个按钮,按钮的命名方法也是取单词的首字母哦,右边的框框叫panel_right(嘴上说着panel麻烦,其实还是用上了panel,主要是好操作),里面不用写任何的东西哦。现在我们要写一个方法,因为有三个按钮会用到,看下面这张截图:
定义一个叫AddInfo的方法,定义一个label,用来显示文字的,跟我们在设计器中拖一个label过去是一样的,然后改变size属性,让它可以随着文字的大小而进行变化,location都知道吧,就是坐标位置,这里是跟着左上角来定义的哦,"lb.Text=",这个就是我们想要显示的文字啦。刚开始就定义了一个变量,这里是点击按钮传进来的值哦,后面的按钮是同样的,设置宽度和高度,按钮的坐标需要根据我们的文字来进行显示,需要显示在文字的后面,并且是需要有背景图片的,它的x坐标是label的宽度的两倍再加上自己的宽度,y坐标是跟文字一样的(坐标可以根据自己的需要进行修改哦),string ImagePath = Environment.CurrentDirectory;//这句话非常的重要啊,如果不写就会报错,winform程序自然少不了要读取和应用程序同一个目录的配置文件(不是exe.config文件);要读取当前应用程序所在目录Environment.CurrentDirectory 来获取当前工作目录。(其实我也不是很懂,反正写上去就对了,要是还不对,就换个姿势再写一次),然后就是给它叫背景图片了,这里是相对路径哦,不然换个地方就找不到图片了。btn.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; 这句话的意思就是定义图像的布局,也就是让图片可以根据按钮的大小进行变大缩小,最后就是在panel里面添加文字和按钮啦!
这是第一个按钮的代码,点击按钮,清空面板上的内容,定义一下y坐标,然后拿到方法,把参数穿进去,这里是显示一行字和一个按钮,来看下效果图吧!
输出一行可以,那么输出两行三行甚至更多呢?
同样的也要清空面板哦!那么就有一个问题了,既然每次点击按钮都会清空面板,为什么不直接在方法里面清空呢?这里,我已经在最开始的时候帮你们试过毒了,在方法里面清空的话会导致一个问题,那就是每一次执行都会清空一次,输出一行可以,输出多行的话,就只会显示最后一行,这个问题就到这里就行啦,要输出多行需要定义一个数组,这个数组是多少按照自己需要来就行了,然后把所需要输出的内容写上去,再用for循环把它显示出来,y=y+30是每循环一次y坐标向下移动30。来看看效果图。
现在就实现了我们之前说的功能啦!