如何形成不規則

這一次,我想說明如何建立在我們的形式Visual Basic.NET中,我們習慣於一個完全不同的外觀,例如,在如下圖所示:

我們首先需要的是創造的形象,你作為一個基金的基礎上使用。 在這個例子中,使用PNG格式的圖像,因為他們可以有一個透明的背景。 你可以使用任何程序創建的圖像(我喜歡Photoshop)。

如果你點擊下面的圖片,你可以下載它用於實踐。

打開一個Visual Studio項目和Windows窗體和配置以下屬性:

的BackgroundImage:我們的形象,PNG
的ControlBox:假
FormBorderStyle:沒有
StartPosition:CenterScreen
BackgroundImageLayout:沒有
背景色:一枝
TansparencyKey:一枝

然後添加其他控件,在這種情況下,4標籤的,4的文本框和按鈕1。 正如這個例子僅僅是形式美學,我不會把任何事件上的保存按鈕或沒有在文本框的驗證。

你會發現,這個配置,我們也沒有標題欄和按鈕miminizar conseguiente,最大限度地關閉。 相反,我添加了一個圖片來關閉表單。 對於這個工作,我添加了一個紅色的X面板透明的背景顏色和編程面板單擊事件,關閉該窗體。

考慮(形式變得清晰secreo)的重要組成部分,TransparentKey BackColor和形式應該是完全一樣的。 我們建議使用在圖像中使用的顏色,或在應用程序中使用的控制。

如果您已經完成了應用程序可以運行和測試的形式新的面貌......

...

...

和?

...

是的,我也花了。 這是非常好的,但沒有標題欄,然後我不能動彈......

我一直在尋找解決這個問題,並找到了一種方法,實際上工作得非常好。 此代碼連接到任何形式的一部分,將使我們能夠移動,如果我們採取標題欄上。

 WM_NCHITTEST消息常量整數=&H84
 HTCLIENT常量整數=&H1
 HTCAPTION常量整數=&H2
保護覆蓋子的WndProc(為ByRef作為System.Windows.Forms.Message米)
    選擇案例m.Msg
        案例WM_NCHITTEST消息
             MyBase.WndProc(M)
            如果m.Result = HTCLIENT然後m.Result = HTCAPTION
         CASE ELSE
             MyBase.WndProc(M)
    最終選擇
 END SUB

27回應“如何形成不規則”

  1. Bitacoras.com 說:

    信息Bitacoras.com ...

    率Bit​​acoras.com:這一次我想說明如何設置我們有一個完全不同的外觀,例如,我們習慣於形式,如下圖所示:首先,你需要......

    • pedrojdev說:

      這頭髮,只是沒有,但我套用樣式在表單的按鈕和其他元素。 此外,偉大的工具,普通創造形式。

      感謝為輸入。

  2. 喬爾說:

    這是優秀的與眾不同

  3. fluireemi說:

    謝謝!

  4. 薩姆說:

    我覺得這是一個偉大的伎倆,但我沒有去和修改上述指定的所有屬性,但沒有得到透明效果,但始終顯示的BackColor TansparencyKey或者是相同的顏色,使用Visual Basic。 05,不工作的另一種方式打開或不知道怎麼感謝你的想法並沒有veriguare,如果他們可以幫助提前很多感謝

  5. 以利沙說:

    山姆,您的訂單之前,我需要不厭其煩地重新做的例子,我要去,列出一步一步,我做什麼,再試一次。
    1 - 我創建一個表單
    2 - 位置上的圖像屬性BackgroungImage
    3 - BackgroundImageLayout =諾姆
    4 - 背景色=巧克力(例如)
    5 - TransparencyKey =巧克力(必須是第4項相同)
    6 - FormBorderStyle =無
    7 - 的ControlBox = FALSE

    所有這些屬性的形式。
    然後運行該應用程序。

    我給你另一個秘訣時不工作,多次最好的解決辦法是停止紡紗的形式,不從頭開始一個新的工作。

  6. 薩姆說:

    嘿嘿非常感謝你以利沙意見忘記的形式和其他回到視覺上的完美,有時我想變得有點瘋狂但provar的的站具有相同的形式和嘗試另一種,如果我的工作很快siceramente許多。

  7. 薩姆說:

    打招呼回到這裡,但我有一個問題困擾著我和一切到現在的不規則形和絕招,但是當我把它作為一個孩子的形式,我得到的效果並不明顯的地方,作為一個孩子防止效果功能

    我有名為form_principal principas的窗體和子窗體稱為prueva

    這種情況是哈慈當我打電話與以下代碼prueva的形式
    nombre_del_proyecto_que_estoy_haciendo.prueva.Show()
    與上面的代碼一切都完美

    但是當我把作為孩子的form_principal prueva的形式,我只是多添加一行代碼,但這樣可以防止效果好這是什麼增值

    nombre_del_proyecto_que_estoy_haciendo.prueva.MdiParent =
    nombre_del_proyecto_que_estoy_haciendo.prueva.Show()

    形式明確表示,擁有財產form_principal IsMdiContainer =真
    運作作為contenidor的

    顯然用於放置子窗體這個代碼是prueva作為預防工作的效果

    如果u可以幫助將不勝感激,謝謝你抽出時間來閱讀這篇文章等待幫助被解僱的SAM

  8. 以利沙說:

    山姆,不幸的是,如果你不能保留這些屬性,使用屬性的MdiParent。 最有可能不是。

  9. 薩姆說:

    也非常感謝你讓我懷疑我已搜查長,顯然行不通使用propiedaf的MdiParent

  10. JOSDAVIS說:

    老實說這個例子沒有找到它的芳踪你一個很好的例子帕薩特的朋友,感謝在這種方式幫助

    salu2

  11. 亞歷克斯說:

    謝謝你對這個奇妙的例子問候

  12. 約翰說:

    你好,我沒有找到一個地方留下一個通用的評論,這就是為什麼我會離開這裡首先感謝所有為這個例子,我發現的反彈,但是這是非常好的,引起我的注意和我去證明它以完美的,但我有一個問題,希望能幫助我puedad

    我需要創建一個項目,有能力來操縱一個攝像頭。 我應該怎麼做捕捉視頻,並能夠將相機從形式到右,左,上下

    好捕捉視頻和我有一個想法如何做到這一點,因為我在互聯網上搜索了很多,我發現了幾個例子,如何做到這一點,但我仍然沒有測試這個,因為我有一個攝像頭。

    nesecito anterion知道如何幫助我也給我一些意見上會有什麼樣的相機,我應該買開展的項目,按邏輯是有一個攝像頭,通過小馬達或東西posivilidad的議案

    總之,我必須做的是通過一個攝像頭視頻捕捉攝像頭的形式向上和向下移動左,右,終於變焦

    感謝給看到這篇文章的時候我說再見

    salu2每個人都希望他們能幫助“的BOB”

  13. 哈維爾說:

    一個問題,做你所說的一切,會另外放在一個透明的面板,以盡量減少有確定,但雙方的最大面板接近最大限度地減少轉黑

  14. 約翰說:

    以利沙,真的工作以及在我身邊,但我想向一個大忙,如果你不不介意,因為我想學我想知道,轉換代碼的行向最終動議的形式?,我會想了解代碼...

    謝謝。

  15. 羅納德說:

    簡單的豆莢非常好,我沒有,

    我做了類似的東西,但我形成他們在Photoshop .. 和資源拉動的圖像..

    biendo更簡單的方式是.. 我想我複雜的生活......

    一個不錯的選擇,做一件好事...

  16. 報“說:

    打招呼,如何使按鈕佈局?

  17. jader心臟說:

    非常好......但我需要知道它的不規則形狀的定義... porfa ayundenme

  18. 布勞略說:

    好吧,我已經嘗試用這種類型的例子......但我通過沒有工作在XP中。 很好的一點是,背景色是透明的,他想對它的形象,而不是形式。 謝謝你的例子,幫我解決我的問題 :D

  19. marisol說:

    這是偉大的!......非常感謝你......你花= D的LOL!

  20. poncianux說:

    謝謝! 是我一直想知道的東西 :D

  21. 帕特里夏說:

    朋友不工作的代碼移動的形式,其餘的是驚人的

    • 胡里奧說:

      只需複製並粘貼此
      公共類Form1
      WM_NCHITTEST消息常量整數=&H84
      HTCLIENT常量整數=&H1
      HTCAPTION常量整數=&H2
      保護覆蓋子的WndProc(為ByRef作為System.Windows.Forms.Message米)
      選擇案例m.Msg
      案例WM_NCHITTEST消息
      MyBase.WndProc(M)
      如果m.Result = HTCLIENT然後m.Result = HTCAPTION
      CASE ELSE
      MyBase.WndProc(M)
      最終選擇
      END SUB

      小組將Form1_Load(0 System.Object的,BYVAL e由於發件人)把手MyBase.Load

      END SUB
      末級

      更換開始將所有代碼

  22. 胡里奧說:

    我如果我的工作分享這個信息,這壯觀的感謝

  23. 奧拉西奧·埃斯皮諾薩說:

    非常好,通過這方面的貢獻,我已經嘗試了一千種,但你會以及rifaste解釋的代碼位,再次感謝朋友,你就會知道如何聽到一個小組是相同的顏色以及FormBorderStyle estahacho作為父親的標籤將會使工作台我們的方案設計將是非常複雜和優雅的形象賜出人意外你檢查工作台是相同的顏色,形式的邊緣看起來有一個TabControl
    http://s2.subirimagenes.com/privadas/previo/thump_1749069workbench.png~~V

  24. 克里斯·布萊克說:

    朋友! 你做了什麼是美好的...謝謝你=)優秀,但我仍然很漂亮的回報感到高興。

  25. 克里斯·布萊克說:

    我再次發表評論hehehe ...我的想法是畫在底部的按鈕和在VB中創建預定義的按鈕,隱藏與顯示= FALSE(見圖片),但是當點擊它會給不estubieran,另一人的財產做我需要什麼?

    關於LOL彷彿它是我XD好主意,我厭倦了,告訴你夢幻般的,我可以打開一個電子表格程序,然後主要逗留sueltitos!

評論