2012-05-04 43 views
7

好吧,盡我所能,我不能爲我的生活擺脫我的按鈕周圍這個小小的邊界。用圖像去除按鈕周圍的所有額外空間?

編輯:我應該提到,如果我沒有說清楚,這些是帶有圖像的按鈕,設置爲與圖像大小一致的按鈕。下面

圖片:

enter image description here 第一,我不能爲我的生命得到這些邊框GO AWAY。我已經檢查了我能想到的一切。他們是:

  • 邊境0
  • 沒有利潤
  • 沒有填充
  • 在表格佈局手動尺寸圖像的尺寸(960x75像素)
  • 其中列全部爲:
    • 手動調整大小到圖像寬度(75px)
    • 無邊距

似乎沒有什麼真正的 「工作」 來擺脫這些。如果我將列大小設置爲74px而不是75px,那麼大多數列都會消失,但只剩下一些列。我對圖像進行了三倍和四倍的檢查,並且他們沒有任何我可以接受的東西,這應該是造成這種情況的原因......邊界沒有透明度,絕對沒有看起來像這樣的邊框。

這使我的第二個問題:

enter image description here

設置按鈕時,對話框小...當對話框伸出

enter image description here 設置按鈕。

設置按鈕也位於同一個表格佈局面板中。

我已經檢查了表格佈局面板上的所有設置。我找不到任何填充或邊距或任何暗示這應該發生的設置。

有沒有人有這方面的經驗?我錯過了什麼?

+0

當所有其他的失敗... Control.Region –

回答

0

你試過了一個工具欄/條/這些天被稱爲什麼?可能不會幫助,因爲我相信它會代表你的名字,但值得一試。

最後,您可以折騰垃圾桶中的按鈕並編寫自己的控件。管理N個按鈕的單個控件在這裏可以很好地工作。

我不明白你的第二個問題。有什麼問題?無論如何,如果您推出自己的控件,它將會被修復。

+1

這不是一個工具欄/條,他們應該看起來像標籤。一個標籤控件是不太適合的,因爲我使用客戶端設計的皮膚在XP中查看它的問題。所以模擬選項卡的按鈕(它們觸發隱藏和顯示面板)。 這些按鈕實際上是自定義控件;我有一個臨時解決方案,通過重寫OnPaint並自己繪製它,但這會導致其他地方出現問題,因爲我在應用程序的其他地方還有其他控件實例。當與他們對話正在調整大小時,他們並不總是適當重繪。 – trycatch

+0

第二個問題是當對話框伸出時,帶有小齒輪的按鈕會產生「白線填充」綜合徵。 (請注意,雖然它們靠得很近,但它很好嗎?) – trycatch

+0

這是WinForms的問題:控件不僅價格昂貴(每個控件都分配了系統資源),它們不喜歡緊靠背靠背存在而沒有問題。每一個控件都是一個系統窗口對象,每個控件都是一個小島。當你需要將「控件」包裝在一起像素完美時,或者你需要你的應用程序更好地執行時,解決方案(通常)創建一個單一的控件,提供內部(外殼中的按鈕)的外觀和功能。您認爲在Office功能區上組合了多少「控件」?正好一個。 – Tergiver

0

雖然不是間距問題的解決辦法,作爲一種解決方法,你可以作出這樣的灰色漸變目前「背後」的「標籤」和控制面板的圖像成BackgroundImage使用的StretchBackgroundImageLayoutTableLayoutPanel。雖然沒有解決間距問題,但它會使它不明顯。

0

寫一個winforms控件有它的挑戰(這裏有經驗)。我同意這是需要的。根據你的項目你可能會考慮使用XAML和WPF。它提供了您似乎在您的應用程序中尋找的細節。

有一些方法可以在winform應用程序中託管XAML控件,但是如果你走這條路線,最好創建一個本地WPF應用程序。反過來也是如此(WPF應用程序中的winform控件)。

0

你是否檢查圖像是否具有你想要的圖形像素周圍的透明像素?

可能是一個簡單的作物解決方案。

1

簡單的解決方案:直接使用PictureBox就好像它是一個按鈕。您可以在鼠標懸停或鼠標點擊時更改圖像。