2009-12-26 6 views
19

Estoy usando WINFORMS no WPF.¿Cómo le doy un aspecto profesional a mi aplicación de Windows .NET?

Solo conozco la programación básica de C# .net gui. No quiero que se vean las ventanas tradicionales. Quiero tener mi propio aspecto personalizado (por ejemplo, gtalk, software antivirus, reproductores multimedia, google chrome).

En realidad, me inspiré en el software PICASA de Google. Es impresionante. Quiero hacer algo así. ¿Cómo puedo hacer eso? Si hay algo que deba aprender, por favor apúntame.

También es posible que deba escribir mis propios controles personalizados (como la vista de árbol modificada, etc.) supongo. Por favor, den algunos buenos recursos de aprendizaje.

+3

Picasa está disponible en muchas plataformas y Google es una gran compañía. Entonces, probablemente quieran mantener la UI de Picasa constante en todas las plataformas. E incluso para grandes proyectos de software, es mejor invertir tiempo para ajustar la interfaz de usuario para cada IMO de la plataforma. –

+1

Esta pregunta puede ser subjetiva. Diferentes desarrolladores/diseñadores/usuarios entienden la profesionalidad de una manera diferente. –

+1

@Victor: Probablemente * apariencia y tacto personalizados * es lo que el póster original quería decir. Entonces esto puede no ser subjetivo. –

Respuesta

2

Quiere buscar +winforms +skinning. No he probado estos, pero el firsthits no se ven mal. La mayoría de las herramientas de skinning correctas serán pagadas.

+0

No quiero usar un software para esto. Quiero escribir y aprender por mi cuenta. – mlguy

3

Hay algunas bibliotecas de control comercial disponibles. Puedo recomendar el Krypton Suite. Consiste en Krypton Toolkit gratuito (que contiene muchos controles personalizables) y otros controles no libres (Navigator, Ribbon, Docking, Workspace). Tiene unas paletas y extracción de grasas que le permiten hacer que su interfaz de usuario como Office 2010, Office 2007, Office 2003, incorporadas ...

8

usted puede probar cualquiera de los siguientes:

telerik

telerik interface

Syncfusion

alt text http://ftp.componentsource.co.jp/res/pub/lib/syncfusion/syncfusion-essential-studio-windows-forms/000_full.gif

u otros componentes.

Ellos hacen que tu UI sea bonita.

Editar: si quieres estudiar cómo lo hacen, puedes comprar el código fuente-- junto con la documentación y entender desde allí.

+0

genial, pero no quiero usar ninguna herramienta para esto. Quiero aprender a escribir esto por mi cuenta. – mlguy

+0

¿Qué hay de ti * comprar * su código fuente-- junto con la documentación y entender desde allí? Esa sería la forma más rápida de OMI. – Graviton

19

This article describe cómo dibujar ventanas personalizadas. El autor también muestra cómo dibujar ventanas no rectangulares.

Si usted podría utilizar WPF en lugar de las formas de Windows, este es un buen artículo sobre la personalización de dibujo ventana:
http://www.codeguru.com/csharp/.net/net_wpf/article.php/c16379/

También hay una pregunta con algunas buenas respuestas aquí en SO: Creating custom forms in WPF?

Actualización:
Creo que el despellejado y el dibujo personalizado es divertido de hacer desde la perspectiva de los programadores, pero también creo que casi no hay beneficio para el usuario.
Los creadores de la plataforma en la que está desarrollando podrían haber puesto mucho esfuerzo en el diseño de sus kits de herramientas de ventanas.
Si lo que desea es cambiar algunos aspectos visuales de su aplicación también se debe tener en cuenta que es posible pasar por alto algunos importantes otros aspectos del diseño de interfaz de usuario:

  • consistencia
  • accesibilidad
  • estética (si está exagerando efectos, degradados, ...)
  • internacionalización
  • ...

Como está desarrollando para Windows, también pierde la capacidad de skinning del sistema operativo. Y creo que algunas de las máscaras que vienen con versiones más nuevas de Windows son bastante buenas.

+0

La primera parte de esta respuesta es buena, pero la segunda parte (pensando en el beneficio para el usuario) es mejor; - p –

+3

+1 para señalar que es bueno adherirse a la interfaz de usuario nativa de la plataforma. –

+0

+1 otro upvote para mencionar la interfaz de usuario personalizada puede ser divertido, pero casi nunca realmente útil para los usuarios finales ... –

1

Según lo que ha dicho, desea desarrollar sus propios controles personalizados. Tiene algunos marcos para esto como Qt que puede usar Direct3D para gráficos acelerados por hardware. También tiene un plugin de Visual Studio. Hay una versión LGPL gratuita y una versión comercial de la misma.

Me acordé de Qt porque mencionaste Picasa y, por lo que recuerdo, escuché que la interfaz de usuario de Picasa se ha escrito a través de Qt.

1

Puede intentar usar "SetWindowRgn (..)" para establecer una región arbitraria para su ventana. ¡Esto puede ir desde dar una forma de rectángulo redondeado a darle una apariencia extraña a la forma! Mira esto: Link.

Hay otra opción si está trabajando en Vista (Aero habilitado), es decir, se puede comprobar a cabo la función aquí DwmExtendFrameIntoClientArea (..): link text

Puede configurar el estilo del borde de la forma 'none' e ir para crear tu formulario personalizado! A continuación, tendrá que crear botones personalizados para realizar tareas como cerrar, minimizar, maximizar, etc. Incluso es posible que necesite escribir código para arrastrar y soltar eventos.

Para el fondo, es posible que necesite echar un vistazo a el degradado se llena para dar un gran efecto, de lo contrario, puedes usar imágenes excelentes como fondo ...! Pero la última opción no es buena a menos que tengas una buena foto.

Cuestiones relacionadas