Ir ao conteúdo
  • Cadastre-se

Ajudinha com um programa em Vb.net?


lulucbr

Posts recomendados

Eu estou aprendendo a linguagem vb.net agora, e estou fazendo um programinha de cadastro de cliente que funciona assim:

O usuário tem que clicar no botão novo, cadastrar o cliente e depois salvar, se ele cadastrar e salvar sem clicar em novo o programa da bug.

Eu queria uma maneira de enquanto o usuário não clicar em novo, as caixas de texto ficarem desabilitadas, será que alguém tem alguma ideia de como fazer isso?

Código

 

Public Class Cadastrando_cliente  Private Sub Cadastrando_cliente_Load(sender As Object, e As EventArgs) Handles MyBase.Load        Me.TabClienteTableAdapter.Fill(Me.BdClienteDataSet.tabCliente)        Me.TabClienteBindingSource.AddNew()    End Sub    Private Sub TabClienteDataGridView_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles TabClienteDataGridView.CellContentClick    End Sub    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles But_salvar.Click        Me.Validate()        Me.TabClienteBindingSource.EndEdit()        Me.TableAdapterManager.UpdateAll(Me.BdClienteDataSet)        If NomeTextBox.Text <> "" Then            MsgBox("Salvo com sucesso", MsgBoxStyle.Information, Title:="Sucesso!")        Else            MsgBox("Preencha o seu nome", MsgBoxStyle.Exclamation, Title:="Aviso!")            NomeTextBox.Focus()        End If    End Sub    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles But_novo.Click        Me.TabClienteBindingSource.AddNew()        NomeTextBox.Focus()    End Sub    Private Sub EstadoComboBox_SelectedIndexChanged(sender As Object, e As EventArgs) Handles EstadoComboBox.SelectedIndexChanged    End Sub     Private Sub TabClienteBindingNavigator_RefreshItems(sender As Object, e As EventArgs)    End Sub    Private Sub BindingNavigatorCountItem_Click(sender As Object, e As EventArgs)    End Sub    Private Sub IdClienteTextBox_TextChanged(sender As Object, e As EventArgs) Handles IdClienteTextBox.TextChanged    End Sub    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles But_excluir.Click        Try            Dim linha As bdClienteDataSet.tabClienteRow = BdClienteDataSet.tabCliente.Rows(TabClienteBindingSource.Position)            Dim codigo As Integer = linha.IdCliente            TabClienteTableAdapter.DeleteQuery(codigo)        Catch ex As Exception        End Try        Me.TabClienteTableAdapter.Fill(BdClienteDataSet.tabCliente)    End Sub    Private Sub NomeTextBox_TextChanged(sender As Object, e As EventArgs) Handles NomeTextBox.TextChanged    End Sub    Private Sub AtivoCheckBox_CheckedChanged(sender As Object, e As EventArgs) Handles AtivoCheckBox.CheckedChanged    End Sub    Private Sub CidadeTextBox_TextChanged(sender As Object, e As EventArgs) Handles CidadeTextBox.TextChanged    End Sub    Private Sub CidadeLabel_Click(sender As Object, e As EventArgs)    End Sub    Private Sub EnderecoTextBox_TextChanged(sender As Object, e As EventArgs) Handles EnderecoTextBox.TextChanged    End Sub    Private Sub EnderecoLabel_Click(sender As Object, e As EventArgs)    End Sub    Private Sub CelularLabel_Click(sender As Object, e As EventArgs)    End Sub    Private Sub TelefoneLabel_Click(sender As Object, e As EventArgs)    End Sub    Private Sub NomeLabel_Click(sender As Object, e As EventArgs)    End Sub    Private Sub IdClienteLabel_Click(sender As Object, e As EventArgs)    End Sub    Private Sub MaskedTextBox1_MaskInputRejected(sender As Object, e As MaskInputRejectedEventArgs) Handles TelTextBox1.MaskInputRejected    End Sub    Private Sub MaskedTextBox2_MaskInputRejected(sender As Object, e As MaskInputRejectedEventArgs) Handles CelTextBox2.MaskInputRejected    End Sub    Private Sub AtivoLabel_Click(sender As Object, e As EventArgs)    End Sub    Private Sub EstadoLabel_Click(sender As Object, e As EventArgs)    End SubEnd Class
Link para o comentário
Compartilhar em outros sites

  • mês depois...
Eu estou aprendendo a linguagem vb.net agora, e estou fazendo um programinha de cadastro de cliente que funciona assim:

O usuário tem que clicar no botão novo, cadastrar o cliente e depois salvar, se ele cadastrar e salvar sem clicar em novo o programa da bug.

Eu queria uma maneira de enquanto o usuário não clicar em novo, as caixas de texto ficarem desabilitadas, será que alguém tem alguma ideia de como fazer isso?

Código



Amigo, você provávelmente está com algum problema de Unsafe GUI Calls, e acontece esse bug porquê você está acessando um componente de um thread no qual ele não foi criado.

Leia isto:

http://msdn.microsoft.com/en-us/library/ms171728(v=vs.85).aspx
Link para o comentário
Compartilhar em outros sites

  • 3 meses depois...

Enfia todas as caixas de texto dentro de uma groupbox e deixe no load do form como groupbox1.enable = false

depois quando o botão add é precionado passa o seguinte groupbox1.enable = true

depois quando o botão salvar é precionado groupbox1.enable = false

assim os campos só abrem quando é precionado add de novo

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

Eu faço assim, crio uma função para habilitar e desabilitar botões, tipo:

Private Sub HabDesBotoes(ByVal Habilitar As Boolean)   Dim vButtons as Button() = {btnCancelar,btnSalvar}   For index = 0 To vButtons .Length - 1       vButtons(index).enabled = Habilitar   NextEnd Sub

Ai, dentro do evento MyBase.Load coloco:

HabDesBotoes(False)

Depois, no evento de click do botão novo você coloca True.

 

Att,

 

Rafael

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...