Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Trucos C Sharp
Trucos C Sharp
Introducción
Este ejemplo sirve para usuarios que recién están empezando a utilizar aplicaciones Windows, en C# (Sharp), ya
que como yo no sabia como abrir formularios en una misma ventana, pues bien aquí te explico lo mas claro posible
para que tengas una ventana de tu aplicación como principal y puedas abrir el resto de tus formularios en la misma.
Espero te sea de mucha utilidad, saludos.
El código:
/*
* Creo el objeto del segundo formulario
*/
Frt = new FormTwo();
// Mediante codigo indico al formulario segundo que aparesca.
Frt.Show();
System.Windows.Forms
Formulario con forma Redonda en C#
En el otro post puse como dar forma redonda a un Formulario desde VB.NET pues aqui
les pongo el codigo en C# para los que prefieren este lenguaje (yo soy uno de ellos )
using System.Drawing;
System.Drawing.Drawing2D.GraphicsPath();
[more]
class MyClass
{
public String Field1 { get; private set; }
public String Field2 { get; private set; }
}
es lo mismo que esto:
class MyClass
{
public String Field1 { get; private set; }
public String Field2 { get; private set; }
public MyClass()
{
}
}
No voy a discutir de lo útil que es, porque definitivamente lo es, pero por supuesto no es
una caracteristica para reemplazar los constructores porque:
Al igual que los métodos parciales, métodos extensores ó tipos anónimos, es una nueva
caracteristica para tener en cuenta y para usar cuando sea apropiado, no viene a
reemplazar nada, viene a complementar para "esos casos" donde hace falta.
El siguiente código vale tanto para aplicaciones de escritorio como para desarrollos
web.
Como hemos comentado en la primera parte del código vamos a configurar el mensaje,
para ello vamos a usar las siguientes propiedades de la clase MailMessage:
En Visual Basic:
En C#:
En Visual Basic:
En C#:
El último paso será enviar nuestro correo, como hemos comentado anteriormente,
usaremos la clase “SmtpClient” que nos permitirá enviar nuestro email previamente
configurado usando la clase “MailMessage”.
Ya que el envío de correos es una parte del código susceptible generar errores
usaremos ”Try-Catch“ para gestionar los posibles errores que se puedan generar.
En Visual Basic:
En C#:
Catch ex As Exception
MessageBox.Show(“ERROR: “ & ex.Message)
End Try
¿Qué es un evento?
¿Cómo lo hacemos?
Primer ejemplo
1: // button1
2: // this.button1.Location = new System.Drawing.Point(24, 28);
3: this.button1.Name = "button1";
4: this.button1.Size = new System.Drawing.Size(75, 23);
5: this.button1.TabIndex = 0;
6: this.button1.Text = "button1";
7: this.button1.UseVisualStyleBackColor = true;
8: this.button1.Click += new
System.EventHandler(this.button1_Click);
9: // // Form1 //
Esto nos dice que el objeto button1 tiene su evento Click asociado el
método button1_Click, ahora ¿qué significa System.EventHandler?, los
más suspicaces adivinan que se trata de un delegado y es verdad, si
nos ponemos sobre el código y presionamos F12 vemos la definición
public delegate void EventHandler(object sender, EventArgs e);
Declarando un evento
Definiendo el delegado
El zip lo colocamos en
Con todo esto listo abrimos el VWD (Visual Web Developer) y nos
aparece la siguiente opción
Hacemos Ok, y tenemos la siguiente estructura por defecto
Qué es MVC
Las tres carpetas que nos interesan son Models, Views y Controller
(aunque resulte increíble), este es un detalle importante, el
framework nos obliga a separar todo en carpetas porque va a tomar
decisiones de dónde ir a buscar cosas por convenciones una de éstas
es la estructura de directorios.
Ahora bien, vamos a ver qué nos dejó José María en la carpeta
Controllers, hay un archivo llamado HomeController y aquí otra
convención los controladores se llamarán siempre AlgoController, más
adelante vamos a ver por qué.
miSitio/home/index
La Vista
Antes que nada notemos que para que se una página se comporte
como una vista MVC es necesario que herede de ViewPage, en caso
que necesitemos pasarle datos a la vista para que los renderice se los
pasamos como un tipo genérico como en éste caso ViewPage esto va
a permitir que funcione el intellisense desde el lado de la vista,
veámoslo.
<ul>
<% foreach (string s in ViewData) { %>
<li><a href="<%= s %>"><%= s %></a></li>
<% } %>
</ul>
Pagina: ViewPage<tipodatos>