Aqui le dejo una imagen de lo que es mi primer programa casi completo en C#.
Un launcher para el juego AnzMu el cual ejecuta el juego principal pero el cual permite configurar la preferencias del usuario si desea con sonido musica o modo ventana el juego, poco a poco voy avanzando y este es mi primer aporte en C#, se que el programa como tal no le ayudara pero el código si cuando este terminado ya que se maneja registro de sistema .reg, apertura de aplicaciónes manejo de checkbox y otras cosas, poco a poco ire aportando mas programas y relacionado con base de datos C# es muy bueno para eso.
Este fue el primer paso al diseñoo del launcher

Luego de unos retoques quedo asi y esta funcional en 80%

Cuando este listo aportare el código en este post
Código Fuente
Spoiler
Código: Seleccionar todo
//libreria
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Microsoft.Win32;
namespace LauncherAnzMuFast
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//para entender esta parte leer mas abajo
//una vez leido mas abajo esto sirve para cuando inicie la aplicación segun los valores de las entrada de registro .reg el aparece con la configuración elegida previamente por el usuario con los checkbox seleccionado o no
Microsoft.Win32.RegistryKey mmm = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Webzen\Mu\Config", false);
textBox1.Text = "" + mmm.GetValue("ID");
if (Convert.ToBoolean(mmm.GetValue("WindowMode")))
checkBox1.Checked=true;
else
checkBox1.Checked = false;
if (Convert.ToBoolean(mmm.GetValue("SoundOnOff")))
checkBox2.Checked = true;
else
checkBox2.Checked = false;
if (Convert.ToBoolean(mmm.GetValue("MusicOnOff")))
checkBox3.Checked = true;
else
checkBox3.Checked = false;
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
//este es el navegador central de la aplicación
}
private void button1_Click(object sender, EventArgs e)
{
//dándole click al botón jugar buscara donde este el archivo la aplicación main.exe y la ejecutara y cerrara el launcher
System.Diagnostics.Process.Start("main.exe");
Close();
}
private void button2_Click(object sender, EventArgs e)
{
webBrowser1.Navigate(new Uri("http://azm5.sytes.net:8000/index.php?page_id=registro"));
//en los 3 botones siguiente se utiliza para ir a una web especifica según la dirección que pongamos como predeterminada
}
private void button3_Click(object sender, EventArgs e)
{
webBrowser1.Navigate(new Uri("http://www.anzmu.com.ve/foro"));
}
private void button4_Click(object sender, EventArgs e)
{
webBrowser1.Navigate(new Uri("http://www.anzmu.com.ve/fast/tienda/"));
}
private void checkBox2_CheckedChanged(object sender, EventArgs e)
{
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
}
private void button5_Click(object sender, EventArgs e)
{
if (checkBox1.Checked)
{
//eh aqui el manejo de registro el cual se crea un objeto registro y se abre la ubicación donde se creara el nuevo registro y el valor true para indicar que sera editado false solo lectura
Microsoft.Win32.RegistryKey myKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Webzen\Mu\Config", true);
myKey.CreateSubKey("WindowMode"); //se crea registro windowsmode
Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Webzen\Mu\Config", true);
myKey.SetValue("WindowMode", Convert.ToInt32(true)); //y se crear una clave d_word sino me equivoco con valor 1
}
else
{
Microsoft.Win32.RegistryKey myKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Webzen\Mu\Config", true);
myKey.SetValue("WindowMode", Convert.ToInt32(false)); el mismo caso pero false
}
if (checkBox3.Checked)
{
Microsoft.Win32.RegistryKey myKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Webzen\Mu\Config", true);
myKey.CreateSubKey("MusicOnOff");
Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Webzen\Mu\Config", true);
myKey.SetValue("MusicOnOff", Convert.ToInt32(true));
}
else
{
Microsoft.Win32.RegistryKey myKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Webzen\Mu\Config", true);
myKey.SetValue("MusicOnOff", Convert.ToInt32(false));
}
if (checkBox2.Checked)
{
Microsoft.Win32.RegistryKey myKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Webzen\Mu\Config", true);
myKey.CreateSubKey("SoundOnOff");
Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Webzen\Mu\Config", true);
myKey.SetValue("SoundOnOff", Convert.ToInt32(true));
}
else
{
Microsoft.Win32.RegistryKey myKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Webzen\Mu\Config", true);
myKey.SetValue("SoundOnOff", Convert.ToInt32(false));
}
//todo lo demas igual la misma explicación
//guardar id
Microsoft.Win32.RegistryKey mmm = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Webzen\Mu\Config", true);
mmm.CreateSubKey("ID");
Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Webzen\Mu\Config", true);
mmm.SetValue("ID", Convert.ToString(textBox1.Text) );
MessageBox.Show("Configuración Guardada");
/toda esta acciones se ejecutara cuando se le de el botón guardar configuración
}
private void checkBox3_CheckedChanged(object sender, EventArgs e)
{
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
}
}