C# winform 點擊窗體內不同按鈕顯示不同的文字


 

在窗體內點擊按鈕顯示不同的文字或者按鈕圖片,剛開始我的做法就是又添加一個面板,然后點擊對應按鈕顯示對應的窗體,結果發現太麻煩了。后來請教了學長,發現真的非常的簡單(雖然我當時弄了很久,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。來看看效果圖。

現在就實現了我們之前說的功能啦!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM