12/09/2014

IF em uma TabPage relação a outra TabPage

Em um windowsform com um tabcontrol que tem quatro tabpages, preciso ao abrir o form(que abre sempre na tabpage1), determinar o botão excluir Como enabled=true(O BtnExcluir fica no tabpage1.), se o textboxcapa do tabpage4 estiver vazio, se não false, é possível ?

No Load do form alguma coisa parecido com isto :

if (Tabcontrol.tabpage4.capaTextBox.Text == "")
            {
                 BtnExcluir.Enabled = true;
            }
            else
            {
                BtnExcluir.Enabled = false;
            }
        }

Jair Souza

Respostas

15/09/2014

Jair Souza

E aí pessoal, alguma idéia ?
Responder Citar

15/09/2014

Joel Rodrigues

O TextBox não pertence apenas ao TabPage, então você não precisa referenciá-lo como sendo filho da página. Basta acessar o TextBox pelo seu nome diretamente:
if (capaTextBox.Text == "")
{
    BtnExcluir.Enabled = true;
}
else
{
    BtnExcluir.Enabled = false;
}
        }
Responder Citar

15/09/2014

Jair Souza

Era o que eu entendia, mas não funcionou assim, então vim buscar reforço no fórum...
Não funciona no Load do form e não funciona em botões do tabpage1...
Responder Citar

17/09/2014

Jair Souza

Coloquei este código no load do form, mas não adiantou nada...quando inicia o form o bendito BtnExcluir está enabled = true, então clico no tabpage4 onde está o capatextbox e depois volto ao tabpage1 onde fica o BtnExcluir, aí sim o BtnExcluir passa a obedecer o código...não entendi porque...
if (capaTextBox.Text != "")
            {
                BtnExcluir.Enabled = false;
            }
            else
            {
                BtnExcluir.Enabled = true;
            }

Coloquei um break point neste if e depurei, verifiquei que o texto do capatextbox estava “ ”(Vazio)...não entendo, pois quando abre e vou até o tabpage4, o capatextbox está preenchido...e no tabcontrol_selectedindexchange não tem nada no código que mande carregar o form...
Coloquei um messagebox para capturar o valor do capatextbox quando o form inicia, e mostra vazio...
Movi o capatextbox para o tabpage1, daí funciona..., isto foi somente para teste, pois o capatextbox tem que ficar no tabpage4.

Não sei mais o que tentar, preciso de ajuda.
Responder Citar

29/09/2014

Jair Souza

Bom dia,
Criei um novo projeto com novo form, e mesmo assim não funciona, tens ideia do que acontece ?
Responder Citar

29/09/2014

Joel Rodrigues

Em que evento você inseriu esse código para habilitar/desabilitar o botão de acordo com o TextEdit?
Responder Citar

29/09/2014

Jair Souza

No Load do form.
Responder Citar

30/09/2014

Jair Souza

Depurei com um breakpoint no if e descobri que se o capatextbox está no tabpage 4, ao abrir o form ele está vazio, não sei porque???, mas se trago o capatextbox para o tabpage 1, ao abrir o form ele está preenchido com os dados do banco.
Conclusão o problema não está no if, mas sim neste detalhe... Parece não fazer muito sentido...criei um projeto totalmente novo somente um form e o bd e não programei nada mais, fui direto neste ponto, e acontece a mesma coisa...
Sabes porque acontece isto e como resolver ?

Capatextbox está no tabpage 4 :

[img]http://arquivo.devmedia.com.br/forum/imagem/343353-20140930-075344.png[/img]


Capatextbox está no tabpage 1 :

[img]http://arquivo.devmedia.com.br/forum/imagem/343353-20140930-075355.png[/img]

O form é carregado com este método :

this.livroTableAdapter.Fill(this.bDBibliotecaDataSet.Livro);
Responder Citar

30/09/2014

Joel Rodrigues

O TextBox está ligado ao DataSet pela propriedade Text?
Responder Citar

30/09/2014

Jair Souza

Sim, tanto que indo ao tabpage 4, ele está preenchido com o valor do banco.
Responder Citar

30/09/2014

Jair Souza

Confirmando :

[img]http://arquivo.devmedia.com.br/forum/imagem/343353-20140930-185410.png[/img]
Responder Citar

01/10/2014

Jair Souza

E aí pessoal...nenhuma idéia ?
Responder Citar

02/10/2014

Joel Rodrigues

Amigo, por favor disponibilize o código completo do seu form aqui utilizando o PasteBin. Talvez olhando todos os eventos que estão sendo tratados possamos identificar o erro.
Responder Citar

02/10/2014

Jair Souza

Aqui está :

[img]http://arquivo.devmedia.com.br/forum/imagem/343353-20141002-093357.png[/img]
Responder Citar

02/10/2014

Joel Rodrigues

Amigo, isso aí que você postou é só uma imagem, eu preciso é do link da colagem do seu código.
Responder Citar