Me pregunto si hay una manera de personalizar el estilo de la aplicación de formularios de windows integrada en visual studio con c#. He buscado por internet y no pude encontrar solución simple para anular la vista predeterminada de la presentación. Hay una manera de cambiar el diseño con hojas de estilo en cascada? Gracias de antemano.

  • Tecnología WPF permite hacer esto y muchas cosas más relacionadas con la GUI de estilo cuestiones. WinForms la tecnología está enraizado en el antiguo GUI de Windows así que usted tendrá que pasar muchos, muchos más de tiempo para lograr el mismo efecto que en WPF.
InformationsquelleAutor Khasan 24-7 | 2014-04-18

3 Comentarios

  1. 2

    De Formularios Windows forms aplicaciones no admiten CSS, se utiliza cuando el desarrollo de sitios web.

    En Winforms está limitado a los estilos que aparecen en ventana de Propiedades de la en la GUI del editor, a menos que quieras reemplazar OnPaint evento y hacer de dibujo personalizadas.

    Algunos ejemplos son:

    http://www.codeproject.com/Articles/8056/Creating-Custom-Shaped-Windows-Forms-in-NET

    http://geekswithblogs.net/kobush/archive/2005/07/04/CustomBorderForms.aspx

    https://customerborderform.codeplex.com/

    Si usted está buscando para obtener más solución personalizable, usted puede dar vuelta a WPF.

    • Tengo un proyecto en visual studio y parece que la aplicación estándar. si yo uso la biblioteca de la u me dijo, voy a tener que cambiar cada botón y la forma de uno en uno. sería mejor si hay una manera de dar un estilo y una vez dada, sería aplicado a todos los botones y formularios. El aprecio de todos modos!
    • La biblioteca te refieres?
    • La mejor opción en caso de que quieras tener interfaz personalizable es, sin duda WPF, pero tendrá que retirar su proyecto Winforms y empezar de cero.
    • Sí, lo entendí. Pero la cosa es que el proyecto está casi terminado y a punto de ser implementado. Voy a tomar en cuenta lo que han dicho. Gracias.
  2. 0

    Puede utilizar un recurso estático como este.

    Dentro de botón de Estilo de etiqueta=»{DynamicResource sty3dBtn}»
    (Usted puede establecer los márgenes aquí también, pero a veces eso es mejor hacerlo para cada botón dependiendo de sus propias necesidades)

    Puede utilizar xml estilo. El botón está configurado para tener una sombra y el gradiente y se ilumina cuando se pulsa, etc. Como yo quería volver a utilizar estos efectos similares botones que he creado un reutilizables estilo en mi Aplicación.xaml encerrado en la Aplicación de la Aplicación.Recursos etiquetas
    y hace referencia a su x:Key en el atributo style del botón quería que el efecto sobre. Usted puede hacer esto en cada página que usted elija, pero creo que puede ser mejor para colocar en un área común, por lo que su reutilizables en todo el ámbito de la clase se coloca en. Nota el Tipo de Destino deben coincidir.

    Voy a publicar un fragmento de estilo xml se convierte regular de un botón en uno solo, con efecto 3d. Puede hacer referencia a esto tantas veces como lo necesite. Se disminuye el código en línea desorden demasiado así que hace que la página sea más fácil de leer en mi opinión.

        <Style x:Key="sty3dBtn" TargetType="Button">
    <Setter Property="Template">
    <Setter.Value>
    <ControlTemplate TargetType="{x:Type Button}">
    <Grid>
    <Rectangle x:Name="GelBackground" Opacity="1" RadiusX="9" RadiusY="9"
    Fill="{TemplateBinding Background}" StrokeThickness="0.35"
    RenderTransformOrigin="0.5,0.5">
    <Rectangle.Stroke>
    <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
    <GradientStop Color="YellowGreen" Offset="0" />
    <GradientStop Color="Green" Offset="1" />
    </LinearGradientBrush>
    </Rectangle.Stroke>
    </Rectangle>
    <Rectangle x:Name="GelShine" Margin="2,2,2,0" VerticalAlignment="Top"
    RadiusX="6" RadiusY="6" Opacity="1" Stroke="Transparent" Height="15px">
    <Rectangle.Fill>
    <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
    <GradientStop Color="Yellow" Offset="0"/>
    <GradientStop Color="Transparent" Offset="1"/>
    </LinearGradientBrush>
    </Rectangle.Fill>
    </Rectangle>
    <ContentPresenter VerticalAlignment="Center" HorizontalAlignment="Center"/>
    </Grid>
    <ControlTemplate.Triggers>
    <Trigger Property="IsMouseOver" Value="True">
    <Setter Property="Background" Value="Brown">
    </Setter>
    </Trigger>
    <Trigger Property="IsPressed" Value="True">
    <Setter Property="Fill" TargetName="GelBackground">
    <Setter.Value>
    <LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
    <GradientStop Color="Yellow" Offset="0"/>
    <GradientStop Color="Green" Offset="1"/>
    </LinearGradientBrush>
    </Setter.Value>
    </Setter>
    <Setter Property="RenderTransform" TargetName="GelBackground">
    <Setter.Value>
    <TransformGroup>
    <ScaleTransform ScaleX="0.9" ScaleY="0.9"/>
    </TransformGroup>
    </Setter.Value>
    </Setter>
    </Trigger>
    <Trigger Property="IsEnabled" Value="False">
    <Setter Property="Fill" TargetName="GelBackground" Value="LightGray">
    </Setter>
    </Trigger>
    </ControlTemplate.Triggers>
    </ControlTemplate>
    </Setter.Value>
    </Setter>
    <!-- Contains animation code-->
    <Setter Property="Background" Value="Green"/>
    <Setter Property="Foreground" Value="White"/>
    <Setter Property="Width" Value="55"/>
    <Setter Property="Height" Value="30"/>
    </Style>

Dejar respuesta

Please enter your comment!
Please enter your name here