Como forma irregular

Nesta ocasión quero mostrar como configurar o noso formulario en Visual Basic rede. para ter unha aparencia totalmente diferente do que estamos afeitos, por exemplo, como se mostra na figura a continuación:

O primeiro que necesitamos é crear a imaxe que utilizar como base para o fondo. Neste exemplo, amosar unha imaxe en formato PNG, xa que poden ter un fondo transparente. Podes empregar calquera programa para crear a imaxe (eu prefiro Photoshop).

Se fai clic na imaxe de abaixo, pode baixa-lo para o seu uso para a práctica.

Abrir un proxecto Visual Studio e unha forma de fiestras e configurar as seguintes propiedades:

BackgroundImage: nosa imaxe PNG
ControlBox: False
FormBorderStyle: Ningún
StartPosition: CenterScreen
BackgroundImageLayout: Ningún
BackColor: Goldenrod
TansparencyKey: Goldenrod

A continuación, engadir os outros controis, neste caso 4 etiqueta'S, 4'S caixa de texto e un botón. Como exemplo é só a estética de forma non vou poñer todos os eventos sobre o botón de gardar ou non a comprobación de caixas de texto.

Vai notar que con esta configuración non temos a barra de título e os botóns miminizar conseguiente, maximizar e pechar. Pola contra eu engade unha foto para pechar o formulario. Para poder iniciar Eu engade un panel con cor de fondo transparente no X vermello e programa do evento click do panel para pechar o formulario.

Unha parte importante considerar (o secreo para unha parte da forma a estar claro) é que o backColor TransparentKey eo formulario debe ser exactamente o mesmo. Recomendamos o uso dunha cor non utilizada na imaxe ou usando os controis da aplicación.

Se xa completou a aplicación pode realizar e probar o novo visual do xeito ...

...

...

e?

...

si, eu tamén gasto. É moi bo, pero non ten ningunha barra de título e, a continuación, non me podo mover ...

Eu estaba mirando para solucionar este problema e atopou unha forma que realmente funciona moi ben. Este código adxunto a calquera parte do formulario que nos permitirá moverse coma se estivésemos tomando a barra de títulos.

 WM_NCHITTEST Consta As Enteiros = H84
 Consta HTCLIENT As Enteiros = H1
 Consta HTCAPTION As Enteiros = H2
 Protexido overrides Sub WndProc (ByRef m Como System.Windows.Forms.Message)
     Seleccione m.Msg caso
         WM_NCHITTEST caso
             MyBase.WndProc (m)
             Se m.Result = HTCLIENT Entón m.Result = HTCAPTION
         Case Else
             MyBase.WndProc (m)
     End Select
 End Sub

27 Responses to "Como formar irregular"

  1. Información Bitacoras.com ...

    Taxa en Bitacoras.com: Esta vez quero mostrar como configurar o noso formulario para ter un aspecto totalmente distinto ao que estamos afeitos, por exemplo, como se mostra na imaxe seguinte: Primeiro ten que .....

    • Pedrojdev di:

      Este cabelo, non só eu, pero aplicar o estilo de botóns e outros elementos dentro do formulario. Ademais gran ferramenta para saír do común na creación de formas.

      Grazas pola achega.

  2. Joel di:

    Iso é excelente fóra do común

  3. Fluireemi di:

    Grazas!

  4. Sam di:

    ben eu creo que é un gran truco, pero eu non fun ben e modificar todas as propiedades especificadas anteriormente, pero non obter o efecto de transparencia, pero sempre amosa a cor da backcolor TansparencyKey ou que é o mesmo usar o Visual Basic. 05 e non funciona outra forma de abrir ou non grazas a idea e non veriguare iso e poden axudar moitas grazas por adiantado

  5. Eliseu di:

    Sam, antes da súa orde, tomo o coidado de refacer o exemplo e eu vou incluír paso a paso o que fago para tentar de novo.
    1 - eu crear un formulario
    2 - Posición a imaxe dos autores BackgroungImage
    3 - BackgroundImageLayout = Nome
    4 - Backcolor Chocolate = (por exemplo)
    5 - TransparencyKey Chocolate = (debe ser o mesmo que Item 4)
    6 - FormBorderStyle = None
    7 - ControlBox = False

    Todas estas propiedades son da forma.
    A continuación, executa o programa e listo.

    Eu che dou outra información ... cando algo non funciona moitas veces a mellor solución é deixar de xirar coa forma e non funcionan a partir de cero nun novo.

  6. Sam di:

    hey MOITAS GRAZAS consello Eliseu para esquecer a forma eo outro volveu para a perfección visual ás veces eu creo que queda dunha parada pouco tolo, pero Probar coa mesma forma e intentar outra se eu traballase siceramente moitos grazas ao logo .

  7. Sam di:

    Ola de novo aquí, pero eu teño un problema incomodando a forma irregular e enganar-me e todo foi ben ata agora, pero cando colocar-lo como unha forma neno eu recibín non o efecto, ao parecer, o lugar como un neno impide a función de efecto

    Eu teño un formulario chamado form_principal principas e un formulario fillo chamado prueva

    a situación é Haci cando eu chamo o formulario co seguinte código prueva
    nombre_del_proyecto_que_estoy_haciendo.prueva.Show ()
    co código por riba de todo vai para a perfección

    pero cando poño o xeito no que un neno de form_principal prueva eu ​​engadir só unha liña de código, pero iso impide que o efecto é así o que é este engadido

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

    claro que a forma ten a propiedade form_principal IsMdiContainer = true
    que funcione como contenidor

    ben, ao parecer, este código usado para poñer o formulario fillo é prueva como evitar o efecto de traballar

    se vc pode axudar agradecería e grazas para tomar o tempo para ler este post á espera de axuda son despedidos SAM

  8. Eliseu di:

    Sam, por desgraza se non pode preservar esas propiedades mediante o MdiParent propiedade. Moi probablemente non.

  9. SAM di:

    así moitas grazas por me fóra de dúbida que eu teño buscado moito e aparentemente non funciona usando o MdiParent propiedaf

  10. JOSDAVIS di:

    Sinceramente, non este exemplo atopalo en lugar ningún se amigo pasate moi bo exemplo, e grazas por axudar desta forma

    salu2

  11. Alex di:

    Grazas por este marabilloso exemplo Saúdos

  12. JOÃO di:

    Ola eu non atopei un lugar para deixar un comentario xenérico que é por iso que vou deixar aquí ben antes de todas as grazas a este exemplo que podo atopar o rebote, pero que é moi bo e me chamou a atención e eu fun Proba para a perfección, pero Eu teño unha pregunta espera que me axude puedad

    ben o que eu teño para crear un proxecto que ten a capacidade de manipular unha webcam. eo que debo facer para capturar vídeo e ser capaz de mover a cámara de forma a dereita, esquerda, arriba e abaixo

    bo para capturar o vídeo e eu teño unha idea de como facelo porque eu procurei moito en internet e atopei varios exemplos de como facelo, pero aínda non proba que, porque eu teño unha webcam.

    nesecito anterion saber como axudar-me tamén de me dar algúns consellos sobre cal sería o tipo de cámara que eu debería mercar para a realización do proxecto é, por lóxica ten que ser unha cámara que ten o movemento posivilidad a través de pequenos motores ou algo así

    en suma eu teño que facer é que a través dun formulario de unha webcam captura de vídeo de webcam ir cara arriba e para abaixo a esquerda ea dereita e, finalmente, zoom

    grazas polo tempo dado a ler este post digo adeus

    salu2 todos e espera que eles poidan axudar "BOB"

  13. Javier di:

    unha pregunta e fixo todo o que dixo, e, adicionalmente, colocado un panel transparente para minimizar arriba ok, pero cando tanto o panel máximo preto como minimizar a quenda das negras

  14. Xoán di:

    Eliseu, funcionou moi ben en torno de min, pero eu quería pedir un gran favor se non lle importa, porque quero aprender Gustaríame saber que traduce as liñas de código para poñer o fin de mover o formulario?, Gustaríame entender o código ...

    Grazas.

  15. Ronald di:

    Simple moi boa de vagens que eu fixen,

    Eu fixen algo semellante, pero eu formularios fixo no Photoshop .. e imaxes de tirar dos recursos ..

    biendo seu camiño é máis simple .. Eu creo que complicar a vida ...

    unha boa opción para facer algo de bo ...

  16. Pao di:

    Ola, e como fai o esquema dos botóns?

  17. corazón Jader di:

    é moi bo .... pero eu teño que saber a definición de formas irregulares con el ... porfa ayundenme

  18. Braulio di:

    Ben, eu xa experimentara con este tipo de exemplos ... pero eu pase que non funcionou no XP. Así, o punto é que a cor de fondo é transparente que quería poñer a imaxe e non a forma. Grazas polo seu exemplo me axudou a resolver o meu problema : D

  19. Marisol di:

    É gran! .. Moitas grazas ... pasou = D lol!

  20. poncianux di:

    Grazas! é algo que sempre quixo saber : D

  21. Patricia di:

    amigo non funciona o código para mover o formulario, o resto é incrible

    • Xullo di:

      simplemente o copia e pega
      Public class Form1
      WM_NCHITTEST Consta As Enteiros = H84
      Consta HTCLIENT As Enteiros = H1
      Consta HTCAPTION As Enteiros = H2
      Protexido overrides Sub WndProc (ByRef m Como System.Windows.Forms.Message)
      Seleccione m.Msg caso
      WM_NCHITTEST caso
      MyBase.WndProc (m)
      Se m.Result = HTCLIENT Entón m.Result = HTCAPTION
      Case Else
      MyBase.WndProc (m)
      End Select
      End Sub

      Private Sub Form1_Load (ByVal Sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

      End Sub
      End Class

      substituír todo o código para que comezou e vai traballar

  22. Xullo di:

    para min se eu traballase todo isto grazas espectaculares para compartir esta información

  23. Horacio Espinosa di:

    Contribución moi boa por iso eu intentara de mil maneiras, pero vai a rifaste ben explicado e con un pouco de código que ben grazas de novo amigo e sabe como escoitar un panel é da mesma cor, así como a FormBorderStyle estahacho unha guía como o pai sería tan banca a nosa concepción do programa sería de imaxe moi sofisticada e elegante excede-lle comprobar banca ten un TabControl que é a mesma cor do borde do formulario mira
    http://s2.subirimagenes.com/privadas/previo/thump_1749069workbench.png ~ ~ V

  24. Chris Black di:

    Amigo! O que fai é marabilloso ... Grazas =) excelente, fico moi satisfeito co retorno moi bonita.

  25. Chris Black di:

    Unha vez máis vou comentar hehehe ... A miña idea é deseñar os botóns na parte inferior e crear botóns predeterminados en VB, o oculto con Show = premer Falso (para ver a foto), pero cando vai dar ou non estubieran, outra propiedade para facer o que eu teño?

    En canto que eu poida abrir un programa de folla de cálculo e, a continuación, os sueltitos estancia principal lol como se fose a miña excelente idea XD Eu Cansei de dicir que é fantástico!

Comentar