Logo Hardware.com.br
FlavioVissoto
FlavioVissot... Membro Junior Registrado
86 Mensagens 2 Curtidas

Ajudinha C#

#1 Por FlavioVissot... 03/04/2013 - 21:48
Boa Noite Senhores,
Estou querendo mudar o valor de um label através de um método de um class.
No form onde esta a label criei a seguinte propriedade:

public string altetaLabel
{
get { return label5.Text; }
set { label5.Text = value;}
}

Mas não sei porque diabos não muda o valor da label.
Já tentei

public void mudaLabel(string texto)
{
label5.Text = texto;
}


Mas também não muda.
Alguem pode me ajudar?
Fergo
Fergo Highlander Registrado
9.3K Mensagens 1.1K Curtidas
#2 Por Fergo
03/04/2013 - 22:04
Se puder postar trechos maiores do código (por questões de escopo), facilita. De qualquer forma, ambos os códigos funcionam contanto que pertençam a mesma classe do Form. Caso contrário, não vai funcionar simplesmente porque não existe o objeto "label5" fora da classe implementada pelo formulário.

Pergunta besta mas, não custa perguntar: supondo que esses códigos estejam na mesma classe Form, você está chamando o método mudaLabel ou atribuindo algum valor para a variável alteraLabel em algum lugar?

O Visual Studio é bem esperto e normalmente ele já te diz que tem coisa errada antes mesmo de compilar, então se há algum problema de escopo possivelmente a variavel "label5" está sublinhada em vermelho. Se você deixar o mouse em cima ele té dá mais informações.
Site pessoal www.fergonez.net
Portfolio
www.fbirck.com
Artigos
Informática
FlavioVissoto
FlavioVissot... Membro Junior Registrado
86 Mensagens 2 Curtidas
#3 Por FlavioVissot...
03/04/2013 - 22:23
Posso mostrar sim o código, mas vou postrar só uma parte dele porque é muito grande:

[code=rich]
publicvoid FTP_Upload(string remoteFile, string localFile)



{


FormUpload formUpload = newFormUpload();






bool testeEnvio;

try



{


formUpload.altetaLabel = "Criando Conexão.";



//Criar Solicitação FTP

ftpRequest = (FtpWebRequest)FtpWebRequest.Create(host + "/" + remoteFile);

//theForm.TheLabel.Invoke(theForm.DelegateThatUpdatesLabel("New Text!"));

statusUpload = "Validando Usuário e Senha.";

//Logar no FTP com Usuario e Senha

ftpRequest.Credentials = newNetworkCredential(Usuario, Senha);

statusUpload = "Especificando tipo de Conexão.";

//Especificar o Tipo de conexão FTP

ftpRequest.Method = WebRequestMethods.Ftp.UploadFile;
[/code]




Não estão na mesmo form não. É que eu quero que conforme o método for executando os comandos, vá aparecendo no form (FormUpload) o que esta acontecendo, para que eu saiba, caso de algum erro, onde foi o erro, e para ficar mais bonitinho kkkk.

A class é um arquivo que eu criei de classe e contem alguns métodos, e eu queria que um desses métodos mudasse o text da lebel de um outro form( no caso, FormUpload).

Flavio Vissoto

boa.gif

[EMAIL="vissoto_flavio@hotmail.com"]vissoto_flavio@hotmail.com[/EMAIL]

dance.gif Monstergame - Vampiro
(Game de Browser)dance.gif
FlavioVissoto
FlavioVissot... Membro Junior Registrado
86 Mensagens 2 Curtidas
#5 Por FlavioVissot...
04/04/2013 - 11:35
Sem chance cara,

criei um método e mesmo assim não altera:

[code=rich]

public void alteraLabel(string texto)



{

label5.Text = texto;

}


[/code]

Chame ele assim:

[code=rich]

FormUpload trocaLabel = new FormUpload();

trocaLabel.alteraLabel("Texto Alterado");
[/code]

Mas sem chance...

O jeito vai ser criar o método dento do form, pois assim é a única forma de como ele esta alterando o label.

O Label esta sim em private.

Flavio Vissoto

boa.gif

[EMAIL="vissoto_flavio@hotmail.com"]vissoto_flavio@hotmail.com[/EMAIL]

dance.gif Monstergame - Vampiro
(Game de Browser)dance.gif
Meyer!
Meyer! Ubbergeek Registrado
3.9K Mensagens 535 Curtidas
#6 Por Meyer!
04/04/2013 - 15:25
FlavioVissoto disse:
Sem chance cara,

criei um método e mesmo assim não altera:

[code=rich]

public shared void alteraLabel(string texto)



{

label5.Text = texto;

}


[/code]Chame ele assim:

[code=rich]

FormUpload trocaLabel = newFormUpload();

trocaLabel.alteraLabel("Texto Alterado");
[/code]Mas sem chance...

O jeito vai ser criar o método dento do form, pois assim é a única forma de como ele esta alterando o label.

O Label esta sim em private.

Mude o label para Public
Se não me engano, além da função ser Public ela tem que ser Static:

[code=rich]public static void alteraLabel(string texto)
{
FormUpload trocaLabel = newFormUpload();
trocalabel.label5.Text = texto;
}[/code]
Chamando ele:
[CODE=rich]FormUpload frm = newFormUpload();
frm.alteraLabel("Bla Bla Bla kkk")[/CODE]
FlavioVissoto
FlavioVissot... Membro Junior Registrado
86 Mensagens 2 Curtidas
#7 Por FlavioVissot...
05/04/2013 - 07:40
Meyer! disse:
Mude o label para Public
Se não me engano, além da função ser Public ela tem que ser Static:

[code=rich]public static void alteraLabel(string texto)
{
FormUpload trocaLabel = newFormUpload();
trocalabel.label5.Text = texto;
}[/code]
Chamando ele:
[code=rich]FormUpload frm = newFormUpload();
frm.alteraLabel("Bla Bla Bla kkk")[/code]



Vish, ela sendo static eu não consigo enxergar o método do Class.

Eu peguei esse método de que estava no Class e coloquei no mesmo form que o label, só assim ele altera. =/

Eu queria que o método ficasse no Class, mas já que não vai, vai ficar no form por enquanto.

Flavio Vissoto

boa.gif

[EMAIL="vissoto_flavio@hotmail.com"]vissoto_flavio@hotmail.com[/EMAIL]

dance.gif Monstergame - Vampiro
(Game de Browser)dance.gif
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal