Pessoal, seguindo com os posts sobre C# básico, vou mostrar como passar parâmetros para uma aplicação em .Net usando C# em um Windows Forms.
Primeiramente crie uma aplicação Windows Forms:
Eu estou usando o Visual Studio 2010 e o Framework 4, mas você pode usar qualquer versão do Visual Studio para executar este exemplo.
Após criar a aplicação vamos ao arquivo Program.cs, onde vamos colocar a variável que irá receber os parâmetros:
[STAThread]
static void Main(string[] parametros)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new frmPrincipal());
}
Neste exemplo eu criei uma variável chamada parametros que irá receber os argumentos da linha de comando. Se você precisa usar o parâmetro somente para acionar alguma parte do seu programa, pode fazer assim:
static void Main(string[] parametros)
{
if(parametros.Length > 0)
{
if(parametros[0].ToUpper() == "/CONFIG")
{
frmConfig config = new frmConfig();
config.ShowDialog();
Application.Exit();
return;
}
}
}
Primeiro você testa se recebeu algum parâmetro e depois faz a verificação. Eu fiz a conversão para Upper() fica mais simples a verificação. Agora você pode estar se perguntando, como vou fazer debug da aplicação e passar o parâmetro ? Isto você pode configurar na janela de propriedades do projeto em Project/Properties/Debug:
Se você precisar testar mais de um parâmetro ao mesmo tempo, basta colocá-los separados por espaços, do mesmo modo que faria no prompt de comandos. Agora para finalizar, vou mostrar como passar o parâmetro para o form principal da aplicação. Para isto teremos que modificar o construtor do form, veja:
public partial class frmPrincipal : Form
{
public frmPrincipal(string[] parametros)
{
InitializeComponent();
}
}
Na verdade acrescentamos o parâmetro no construtor do form, mas se você precisar passar qualquer outra informação, basta modificar o construtor. Agora vamos voltar no program.cs e passar o parâmetro:
Application.Run(new frmPrincipal(parametros));
É isto aí pessoal, um abraço e até a próxima.