2014-03-07 73 views
1

我最近開始在Visual Studio 2010中學習VB.Net以進行一個側面項目,但我已經完全陷入困境。 我想要做的只是繪製一張圖片,然後在其上繪製文本。帶文本的圖片按鈕

這是我到目前爲止的代碼...

Dim allFolders As String() = Directory.GetDirectories("C:\Project\Test") 
For Each item As String In allFolders 
     Dim newButton As New Button 
     newButton.Name = item 
     newButton.Width = folderW 
     newButton.Width = folderH 
     newButton.Left = folderX 
     newButton.Top = folderY 
     newButton.Image = My.Resources.Resources.grBtn 
     newButton.Text = newButton.Name.Remove(0, 17) 
     Me.Controls.Add(newButton) 
     AddHandler newButton.Click, AddressOf openMyFolder 
     folderX += folderXS 
Next 

如果我設置「昏暗newButton作爲新按鈕」,那麼它完全忽略了圖像,並繪製只是標準按鈕...如果我設置爲「Dim newButton As New PictureBox」,那麼它完全忽略文本並且只繪製圖像...

當然,有一些方法可以同時顯示圖片和文本?

謝謝你的時間!

謝謝LarsTech!任何人尋找一個類似的問題,我使用的代碼是:

 Dim newButton As New Button 
     newButton.Name = item 
     newButton.Width = folderW 
     newButton.Height = folderH 
     newButton.Left = folderX 
     newButton.Top = folderY 
     newButton.Image = My.Resources.Resources.<Your Image Resource> 
     newButton.FlatStyle = FlatStyle.Flat 
     newButton.FlatAppearance.BorderSize = 0 
     newButton.Text = newButton.Name.Remove(0, 17) 
     Me.Controls.Add(newButton) 
     AddHandler newButton.Click, AddressOf openMyFolder 
     folderX += folderXS 

,這將創造很好的,動態圖片按鈕,沒有邊界。

回答

3

不能完全複製您的問題,但您沒有設置高度屬性(您有兩次寬度)。

考慮將以下屬性,以顯示正確的圖像:

newButton.ImageAlign = ContentAlignment.MiddleCenter 
newButton.TextAlign = ContentAlignment.MiddleCenter 
newButton.TextImageRelation = TextImageRelation.ImageBeforeText 
+0

現在好了,我只是覺得傻了......是的,身高不足是造成問題。只要我將folderH的寬度更改爲高度,它立即就可以工作,但有一個醜陋的寄宿生(我已經設法刪除)。謝謝! –