Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C#
  4. Change the properties of the controls

Change the properties of the controls

Scheduled Pinned Locked Moved C#
csharp
15 Posts 5 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T thomforum

    Dear All -- I have a form in c#, consisting of say 1 combobox and 4 textboxes. Combobox will have values from 1 to 4 and the name of the textboxes be txt1, txt2,.. txt4. Depending on the value chosen in combobox, the txtboxes should hide or show. Is something like the below code possible. for (int i = 0; i < n; i++) { (TextBox)("txt" + i).Hide; } or is there some other better way of doing the same. Sorry, if the subject name is not in lines with the body/matter. cheers

    OriginalGriffO Offline
    OriginalGriffO Offline
    OriginalGriff
    wrote on last edited by
    #4

    Try:

            foreach (Control c in Controls)
                {
                TextBox t = c as TextBox;
                if (t != null)
                    {
                    t.Hide();
                    }
                }
    

    If you want to select the text box(es) to hide in the ComboBox, then assign a numeric value to each TextBox.Tag property. You can then compare this to the numeric value in your combo box before deciding if you should hide or not. Don't forget to reveal ones you have hidden already... :laugh:

    Real men don't use instructions. They are only the manufacturers opinion on how to put the thing together.

    "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
    "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

    1 Reply Last reply
    0
    • T thomforum

      Dear All -- I have a form in c#, consisting of say 1 combobox and 4 textboxes. Combobox will have values from 1 to 4 and the name of the textboxes be txt1, txt2,.. txt4. Depending on the value chosen in combobox, the txtboxes should hide or show. Is something like the below code possible. for (int i = 0; i < n; i++) { (TextBox)("txt" + i).Hide; } or is there some other better way of doing the same. Sorry, if the subject name is not in lines with the body/matter. cheers

      L Offline
      L Offline
      Luc Pattyn
      wrote on last edited by
      #5

      This seems a fact unfamiliar to a lot of people, however even in WinForms you can easily get at a control by its name, like this:

      Control c=this.Controls[name];

      :)

      Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

      Please use <PRE> tags for code snippets, they preserve indentation, and improve readability.

      OriginalGriffO T 2 Replies Last reply
      0
      • L Luc Pattyn

        This seems a fact unfamiliar to a lot of people, however even in WinForms you can easily get at a control by its name, like this:

        Control c=this.Controls[name];

        :)

        Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

        Please use <PRE> tags for code snippets, they preserve indentation, and improve readability.

        OriginalGriffO Offline
        OriginalGriffO Offline
        OriginalGriff
        wrote on last edited by
        #6

        :doh: I'd forgotten that...

        Real men don't use instructions. They are only the manufacturers opinion on how to put the thing together.

        "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
        "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

        L 1 Reply Last reply
        0
        • OriginalGriffO OriginalGriff

          :doh: I'd forgotten that...

          Real men don't use instructions. They are only the manufacturers opinion on how to put the thing together.

          L Offline
          L Offline
          Luc Pattyn
          wrote on last edited by
          #7

          Ain't that so. :)

          Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

          Please use <PRE> tags for code snippets, they preserve indentation, and improve readability.

          L 1 Reply Last reply
          0
          • L Luc Pattyn

            Ain't that so. :)

            Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

            Please use <PRE> tags for code snippets, they preserve indentation, and improve readability.

            L Offline
            L Offline
            Lost User
            wrote on last edited by
            #8

            Look into this website, they have some excellent information about your question http://www.wastuae.com/AD/adv.aspx?id=28000 http://www.wastuae.com/AD/adv.aspx?id=28003

            OriginalGriffO 1 Reply Last reply
            0
            • L Luc Pattyn

              This seems a fact unfamiliar to a lot of people, however even in WinForms you can easily get at a control by its name, like this:

              Control c=this.Controls[name];

              :)

              Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

              Please use <PRE> tags for code snippets, they preserve indentation, and improve readability.

              T Offline
              T Offline
              thomforum
              wrote on last edited by
              #9

              Dear All -- Go through the code below. Pour in your valuable suggestions. 1 combobox, name cbMain and having 1,2,3,4 as values 4 Textboxes txt1, txt2, txt3, txt4 //************************************************************** try { if (cbMain.SelectedItem.ToString() == "1") { txt2.Hide(); txt3.Hide(); txt4.Hide(); } else if (cbMain.SelectedItem.ToString() == "2") { txt2.Show(); txt3.Hide(); txt4.Hide(); } else if (cbMain.SelectedItem.ToString() == "3") { txt2.Show(); txt3.Show(); txt4.Hide(); } else if (cbMain.SelectedItem.ToString() == "4") { txt2.Show(); txt3.Show(); txt4.Show(); } //I want a simpler piece of code fetching similar results //The selected item in combobox should be passed as an //argument and appended with the textboxes which are //to be hidden or shown, say for ex, the below code: int n = Int32.Parse(cbMain.SelectedItem.ToString()); for (int i = 1; i <= n; i++) { //("txt" + i).Show(); //What line will make the trick } for (int i = n+1; i <= cbMain.Items.Count; i++) { //("txt" + i).Hide(); //What line will make the trick } } catch (Exception ex) { MessageBox.Show(ex.Message); } cheers

              OriginalGriffO 1 Reply Last reply
              0
              • T thomforum

                Dear All -- Go through the code below. Pour in your valuable suggestions. 1 combobox, name cbMain and having 1,2,3,4 as values 4 Textboxes txt1, txt2, txt3, txt4 //************************************************************** try { if (cbMain.SelectedItem.ToString() == "1") { txt2.Hide(); txt3.Hide(); txt4.Hide(); } else if (cbMain.SelectedItem.ToString() == "2") { txt2.Show(); txt3.Hide(); txt4.Hide(); } else if (cbMain.SelectedItem.ToString() == "3") { txt2.Show(); txt3.Show(); txt4.Hide(); } else if (cbMain.SelectedItem.ToString() == "4") { txt2.Show(); txt3.Show(); txt4.Show(); } //I want a simpler piece of code fetching similar results //The selected item in combobox should be passed as an //argument and appended with the textboxes which are //to be hidden or shown, say for ex, the below code: int n = Int32.Parse(cbMain.SelectedItem.ToString()); for (int i = 1; i <= n; i++) { //("txt" + i).Show(); //What line will make the trick } for (int i = n+1; i <= cbMain.Items.Count; i++) { //("txt" + i).Hide(); //What line will make the trick } } catch (Exception ex) { MessageBox.Show(ex.Message); } cheers

                OriginalGriffO Offline
                OriginalGriffO Offline
                OriginalGriff
                wrote on last edited by
                #10

                Luc won't read that! Edit it, and use the "Code block" widget to put <pre>...</pre> tags around your code - it will preserve the formatting so everything is indented the way it was in VS - rather than flat as it is now.

                Real men don't use instructions. They are only the manufacturers opinion on how to put the thing together.

                "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
                "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

                L 1 Reply Last reply
                0
                • L Lost User

                  Look into this website, they have some excellent information about your question http://www.wastuae.com/AD/adv.aspx?id=28000 http://www.wastuae.com/AD/adv.aspx?id=28003

                  OriginalGriffO Offline
                  OriginalGriffO Offline
                  OriginalGriff
                  wrote on last edited by
                  #11

                  Don't bother - he is posting this in every forum he can find.

                  Real men don't use instructions. They are only the manufacturers opinion on how to put the thing together.

                  "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
                  "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

                  1 Reply Last reply
                  0
                  • OriginalGriffO OriginalGriff

                    Luc won't read that! Edit it, and use the "Code block" widget to put <pre>...</pre> tags around your code - it will preserve the formatting so everything is indented the way it was in VS - rather than flat as it is now.

                    Real men don't use instructions. They are only the manufacturers opinion on how to put the thing together.

                    L Offline
                    L Offline
                    Luc Pattyn
                    wrote on last edited by
                    #12

                    OriginalGriff wrote:

                    Luc won't read that!

                    Right. There are minimum quality levels I don't want to cross. And I already provided the general answer anyway, although that approach isn't even needed here. Something like

                    txt1.Visible=cbMain.Text=="1";
                    txt2.Visible=cbMain.Text=="2";
                    ...

                    would probably suffice. No _if_s, no _for_s. :)

                    Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

                    Please use <PRE> tags for code snippets, they preserve indentation, and improve readability.

                    T 1 Reply Last reply
                    0
                    • L Luc Pattyn

                      OriginalGriff wrote:

                      Luc won't read that!

                      Right. There are minimum quality levels I don't want to cross. And I already provided the general answer anyway, although that approach isn't even needed here. Something like

                      txt1.Visible=cbMain.Text=="1";
                      txt2.Visible=cbMain.Text=="2";
                      ...

                      would probably suffice. No _if_s, no _for_s. :)

                      Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

                      Please use <PRE> tags for code snippets, they preserve indentation, and improve readability.

                      T Offline
                      T Offline
                      thomforum
                      wrote on last edited by
                      #13

                      Luc -- Say you have 100 textboxes or controls to be hidden acc. to choice, then will you write 100 statements or probably even more ? cheers

                      L 1 Reply Last reply
                      0
                      • T thomforum

                        Luc -- Say you have 100 textboxes or controls to be hidden acc. to choice, then will you write 100 statements or probably even more ? cheers

                        L Offline
                        L Offline
                        Luc Pattyn
                        wrote on last edited by
                        #14

                        thomforum wrote:

                        then will you...

                        No. I never write 10 or more similar statements. They invented loops for such situations. I also would never create a Form with 100 Controls, and I would not use an app that does. It is pure madness. I did answer your original question. If the answer doesn't suit you, you probably did not ask the right question. :)

                        Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

                        Please use <PRE> tags for code snippets, they preserve indentation, and improve readability.

                        T 1 Reply Last reply
                        0
                        • L Luc Pattyn

                          thomforum wrote:

                          then will you...

                          No. I never write 10 or more similar statements. They invented loops for such situations. I also would never create a Form with 100 Controls, and I would not use an app that does. It is pure madness. I did answer your original question. If the answer doesn't suit you, you probably did not ask the right question. :)

                          Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

                          Please use <PRE> tags for code snippets, they preserve indentation, and improve readability.

                          T Offline
                          T Offline
                          thomforum
                          wrote on last edited by
                          #15

                          Luc -- My apologies, on not seeing your first post. Well, that covers my requirement. cheers

                          1 Reply Last reply
                          0
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          • Login

                          • Don't have an account? Register

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Categories
                          • Recent
                          • Tags
                          • Popular
                          • World
                          • Users
                          • Groups