1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

bloquear campos

Discussão em 'Programação' iniciada por motunning, 12 de Junho de 2008. (Respostas: 9; Visualizações: 1189)

  1. motunning

    motunning Power Member

    boas a todos!!

    estou a fazer um projecto de gestao de uma clinica de saude, mas preciso de um pequeno favor!!
    preciso que ao seleccionar "Sim" ou "Não" na respectiva ComboBox, o programa, caso eu selecciona-se "Sim" bloqueava uma TextBox!
    alguem pode ajudar?
    agradecia!!!

    desde ja agradeço

    Cumprimentos

    Motunning
     
  2. bikefire

    bikefire Banido

    linguagem ???????????????????????
     
  3. motunning

    motunning Power Member

    Visual Basic 6.0!!
     
  4. jpaulino

    jpaulino Power Member

    Text1.Enabled = False
     
  5. motunning

    motunning Power Member

    isso eu sei que bloqueia o campo!!
    so que eu quero isso mas ao clicar no Sim da comboBox!

    Eu ja fiz com um Select case

    Select case
    case 0
    combobox.listindex = "Sim"
    text1.enabled = false
    case 1
    combobox.listindex = "Não"
    text1.enabled = true
    end select

    so que assim so me deixa escolher o sim!!
     
  6. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Em Combobox_Click, experimenta pôr algo deste género:
    Text1.Enabled = (Combobox.Text = "Nao")

    Não está testado, mas é algo assim.
     
  7. motunning

    motunning Power Member


    vou testar e depois digo algo!!

    Cumprimentos
     
  8. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    O teu Select Case está um pouco mal construído :P

    Para estar funcional, seria algo assim:
    Código:
    Select case [B]combobox.text[/B]
        case "Sim"
            text1.enabled = false
        case "Não"
            text1.enabled = true
    end select
    
    E não te esqueças de olhar para o til do "Não". O meu código não o tinha, por isso pode não resultar. Para teres a certeza, tenta o Sim:
    Text1.Enabled = NOT (Combobox.Text = "Sim")
     
  9. Olá.

    Tentei resolver o problema em C#, pois não estou à vontade com VB. Converti o código e testei. Faz o que eu entendi ser necessário.
    Espero que ajude.

    (1) - Introduzir a comboBox1 e a textBox1 (em modo visual);
    (2) - No mesmo modo visual, seleccionar a comboBox1, ir ao Painel "Properties", escolher "Events" e associar ao evento "SelectedIndexChanged" o método "ChangeOnComboBox", definido no código seguinte.


    ####### C# ########## (Form1.cs, com textBox1 e comboBox1)

    Código:
    
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    
    namespace WindowsApplication2
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                
                //Definir o estado default
                this.SetDefault();
            }
    
            /// <summary>
            /// Colocar o estado por default para os vários componentes.
            /// </summary>
            public void SetDefault(){
    
                //Inicializar as opções
                List<string> options = new List<string>();
                options.Add("Não");
                options.Add("Sim");
    
                //Definir comboBox1.datasource
                this.comboBox1.DataSource = options;
    
                //Definir o estado default da textBox1
                this.textBox1.Enabled = true;
            }
    
            /// <summary>
            /// O que fazer em caso de alguma alteração ao estado da comboBox1.
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void ChangeOnComboBox(object sender, EventArgs e) {
                if ((((string)comboBox1.SelectedItem).Equals("Sim"))) 
                    this.textBox1.Enabled = false;
                else
                    this.textBox1.Enabled = true;
            }
    
        }
    }
    
    
    
    ####### VB ########## (Form1.vb, com textBox1 e comboBox1)

    Código:
    
    Public Class Form1
    
        Public Sub New()
            InitializeComponent()
    
            'Definir o estado default
            Me.SetDefault()
        End Sub
        Public Sub SetDefault()
    
            ''' <summary>
            ''' Colocar o estado por default para os vários componentes.
            ''' </summary>
    
            'Inicializar as opções
            Dim options As New List(Of String)()
            options.Add("Não")
            options.Add("Sim")
    
            'Definir comboBox1.datasource
            Me.comboBox1.DataSource = options
    
            'Definir o estado default da textBox1
            Me.textBox1.Enabled = True
        End Sub
    
        ''' <summary>
        ''' O que fazer em caso de alguma alteração ao estado da comboBox1.
        ''' </summary>
        ''' <param name="sender"></param>
        ''' <param name="e"></param>
        Private Sub ChangeOnComboBox(ByVal sender As Object, ByVal e As EventArgs) Handles ComboBox1.SelectedIndexChanged
            If (DirectCast(ComboBox1.SelectedItem, String).Equals("Sim")) Then
                Me.TextBox1.Enabled = False
            Else
                Me.TextBox1.Enabled = True
            End If
        End Sub
    
    End Class
    
    
     
  10. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Epah, não é por mal, mas aquela linha já está em VB6 e já faz o pretendido :x
     

Partilhar esta Página