VARIAVEL GLOBAL
Algum poderia posta lagum exmplo de como isso pode ser feito.
Bom, em se tratando de .NET isso não existe. Pelo menos não da mesma maneira que é no VB6 onde qualquer variável global ou public estará disponÃvel durante todo o tempo de execução. O que você vai fazer é ter uma classe que vai ler os valores de algum lugar, como um arquivo .config por exemplo, ou um banco de dados. Existem muitos exemplos disso aqui mesmo no VBMania. Mais importante que o [Ô]exemplo[Ô] de código, é entender o que está fazendo. Faça uma busca e vai ver que tem muita coisa aqui sobre isso.
public class Program
{
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
[txt-color=#e80000]public static TextBox seuTextBox { get; set; }[/txt-color]
}
// Pra usar faça assim:
MessageBox.Show(Program.seuTextBox.Text);
Ja é um bom remendo
Humm agora q vi, no csharp nao lembro se tem module
Citação::
Mais atenção ao português aÃ. Não custa nada e ajuda a quem quiser fazer uma procura pelo mesmo assunto.
Bom, em se tratando de .NET isso não existe. Pelo menos não da mesma maneira que é no VB6 onde qualquer variável global ou public estará disponÃvel durante todo o tempo de execução. O que você vai fazer é ter uma classe que vai ler os valores de algum lugar, como um arquivo .config por exemplo, ou um banco de dados. Existem muitos exemplos disso aqui mesmo no VBMania. Mais importante que o [Ô]exemplo[Ô] de código, é entender o que está fazendo. Faça uma busca e vai ver que tem muita coisa aqui sobre isso.
KERPLUNK, vi sim tem muita coisa sim, tentei vários, estou sentado aqui na cadeira dês de hoje as 7 da manha até agora quebrando a cabeça com isso, peguei vários modelos aqui e em outros sites, porem minha variável sempre fica vazia e meu select não funciona no outro fom.
E pelo horário do meu post da para ver que tentei o dia inteiro antes de postar a duvida aqui, pois acho que se usado com respeito e moderação o vbmania é para isso mesmo, me desculpe se erro no português ou se ando postando muitas dúvidas ultimamente aqui no vbmania, mais fiquei anos com vb6 agora estou tentando o C# devido a uma iniciativa do modelo de webservice que você me passou, então paciência aeeeeeeee, pois não tenho nenhum conhecimento em c# .net.
Pra vocês que estão trabalhando com .net a algum tempo um detalhe desse é resolvido em 1 minuto, mais pra mim gasto dois dias, então quando ver ai meu posts pedindo ajuda não é por que eu quero algo pronto não é por que eu já tentei muito.
Citação::
Não acho o mais recomendado, mas você poderia criar essa variável dentro da classe Program.
public class Program
{
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
[txt-color=#e80000]static TextBox seuTextBox { get; set; }[/txt-color]
}
// Pra usar faça assim:
MessageBox.Show(Program.seuTextBox);
Eu poderia usar esse :
MessageBox.Show(Program.seuTextBox);
Em outro form, tipo no form2 chamar essa função que está pegando o valor do form1 e que usa o form1 em sua declaração Application.Run(new Form1()); ?
//Para fazer uma atribuição
Program.seuTextBox = Form2.TextBox1;
//Para exibir o seu conteúdo
MessageBox.Show(Program.seuTextBox.Text);
private void Form1_Load(object sender, EventArgs e)
{
Form2 form2 = new Form2();
Program.seuTexBox = (TextBox) form2.Controls[[Ô]TextBox1[Ô]];
MessageBox.Show(Program.seuTexBox.Text);
}
veja isso q vai dar uma luz
http://www.macoratti.net/15/09/c_frmi1.htm
A passagem de valores em formulários no .net pode ser feita de várias formas, mais não existem uma forma [Ô]Mais[Ô] recomendada (ou mais correta), isto depende muito da situação.
Você pode declarar uma variável publica para o formulário que irá receber o valor, como o exemplo abaixo.
Formulário que irá receber.
public partial class Form2 : Form
{
public string variavelQualquer { get; set; }
public Form2()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(variavelQualquer);
}
}
Formulário que irá chamar o outro e passar o parâmetro.
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 formulario = new Form2();
formulario.variavelQualquer = [Ô]Texto que eu desejar![Ô];
formulario.ShowDialog(this);
}
}
Assim como o exemplo acima, também podemos criar uma classe com variáveis estáticas, que podem ser enxergadas por toda a aplicação.
Citação::
NETVOO,
A passagem de valores em formulários no .net pode ser feita de várias formas, mais não existem uma forma [Ô]Mais[Ô] recomendada (ou mais correta), isto depende muito da situação.
Você pode declarar uma variável publica para o formulário que irá receber o valor, como o exemplo abaixo.
Formulário que irá receber.
public partial class Form2 : Form
{
public string variavelQualquer { get; set; }
public Form2()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(variavelQualquer);
}
}
Formulário que irá chamar o outro e passar o parâmetro.
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 formulario = new Form2();
formulario.variavelQualquer = [Ô]Texto que eu desejar![Ô];
formulario.ShowDialog(this);
}
}
Assim como o exemplo acima, também podemos criar uma classe com variáveis estáticas, que podem ser enxergadas por toda a aplicação.
Ok segue um anexo de como estou fazendo,e certeza que é erro estrutural erro no código mesmo, da uma olhada onde estou errando e se possÃvel manda ele de volta pra mim ver onde estou errando.
Você preencheu o objeto, mais instanciou novamente ele no outro formulário (new), o que diz que ele é um novo objeto e não aquele que você já havia preenchido.
O mesmo que já foi instanciado no formulario 1, deve ser passado como parâmetro para o outro formulário.
Segue anexo.