dev.net.ua

Українська Спільнота Розробникiв
 
Ласкаво просимо до dev.net.ua Увійти | Приєднатися | Допомога | Увійти Live ID
в Пошук

Нужна помощь по User Control

Останнє повідомлення 21-04-2007, 3:51 від slash. 6 відповіді.
Сортувати: Попереднє Наступне
  •  10-04-2007, 0:33 2869

    Нужна помощь по User Control

    Можно в своем Control-е задать свойство, указывающее на переменную во внешней программе? Если да, то как?

    dim vivimus vivamus!!
    Помічено як:
  •  10-04-2007, 2:35 2871 у відповідь на 2869

    Re: Нужна помощь по User Control

    Яким чином воно повинно вказувати? Наведіть будь ласка приклад. І що ви маєте на увазі під "змінна в зовнішній програмі"?


    MCPD(Web,Windows,Enterprise), MCTS (WPF, WCF)
  •  16-04-2007, 0:36 2890 у відповідь на 2871

    Re: Нужна помощь по User Control

    Приклад. Мій Control має такий вигляд - декілька Radiobutton-ів ,і кнопка. Також є властивість яка вкзує на змінну(не знаю як , в цьому і полягає питання). При натисканні на кнопку значення цієї змінної повинно змінюватись, в залежності від вибраного Radiobutton-a .

    dim vivimus vivamus!!
    Помічено як:
  •  16-04-2007, 3:30 2892 у відповідь на 2890

    Re: Нужна помощь по User Control

    tn
    KubiVan:
    Приклад. Мій Control має такий вигляд - декілька Radiobutton-ів ,і кнопка. Також є властивість яка вкзує на змінну(не знаю як , в цьому і полягає питання). При натисканні на кнопку значення цієї змінної повинно змінюватись, в залежності від вибраного Radiobutton-a .


    Привет, если я правильно понял вот про такую функциональность ты спрашивал:
    public class UserControl : System.Windows.Forms.UserControl
        {
            private Button btnPress;
            private RadioButton rbtnDarkness;
            private RadioButton rbtnLight;
            private Panel panel;
            private string variable = string.Empty;
           
            public UserControl()
            {
                InitializeComponent();
            }

            public string Variable
            {
                get
                {
                     return variable;
                }
                set
                {
                     variable = value;
                }
            }
           
            private void btnPress_Click(object sender, System.EventArgs e)
            {
                if(rbtnLight.Checked)
                {
                    variable = "To be the light in the world today.";
                }
                else
                {
                    variable = "To be the darkness in the world today.";
                }
            }
            #region Component Designer generated code
            /// <summary>
            /// Required method for Designer support - do not modify
            /// the contents of this method with the code editor.
            /// </summary>
            private void InitializeComponent()
            {
                this.btnPress = new System.Windows.Forms.Button();
                this.panel = new System.Windows.Forms.Panel();
                this.rbtnDarkness = new System.Windows.Forms.RadioButton();
                this.rbtnLight = new System.Windows.Forms.RadioButton();
                this.panel.SuspendLayout();
                this.SuspendLayout();
                //
                // btnPress
                //
                this.btnPress.Location = new System.Drawing.Point(112, 32);
                this.btnPress.Name = "btnPress";
                this.btnPress.TabIndex = 2;
                this.btnPress.Text = "Press";
                this.btnPress.Click += new System.EventHandler(this.btnPress_Click);
                //
                // panel
                //
                this.panel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
                this.panel.Controls.Add(this.rbtnDarkness);
                this.panel.Controls.Add(this.rbtnLight);
                this.panel.Location = new System.Drawing.Point(8, 8);
                this.panel.Name = "panel";
                this.panel.Size = new System.Drawing.Size(88, 72);
                this.panel.TabIndex = 3;
                //
                // rbtnDarkness
                //
                this.rbtnDarkness.Location = new System.Drawing.Point(8, 40);
                this.rbtnDarkness.Name = "rbtnDarkness";
                this.rbtnDarkness.Size = new System.Drawing.Size(72, 24);
                this.rbtnDarkness.TabIndex = 3;
                this.rbtnDarkness.Text = "Darkness";
                //
                // rbtnLight
                //
                this.rbtnLight.Checked = true;
                this.rbtnLight.Location = new System.Drawing.Point(8, 8);
                this.rbtnLight.Name = "rbtnLight";
                this.rbtnLight.Size = new System.Drawing.Size(48, 24);
                this.rbtnLight.TabIndex = 2;
                this.rbtnLight.TabStop = true;
                this.rbtnLight.Text = "Light";
                //
                // UserControl
                //
                this.Controls.Add(this.panel);
                this.Controls.Add(this.btnPress);
                this.Name = "UserControl";
                this.Size = new System.Drawing.Size(200, 88);
                this.panel.ResumeLayout(false);
                this.ResumeLayout(false);
            }
            #endregion
           
        }


    Если я неправильно понял - тогда уточни! Smile

    С уважением, Вячеслав
    Помічено як:
  •  17-04-2007, 5:48 2898 у відповідь на 2890

    Re: Нужна помощь по User Control

    Модератори видаліть будь ласка цю месагу.
    MCPD(Web,Windows,Enterprise), MCTS (WPF, WCF)
  •  20-04-2007, 5:33 2906 у відповідь на 2892

    Re: Нужна помощь по User Control

    Ты не приавильно понял. У тебя изменяется строковая перменная контрола. А мне нужно, чтобы изменялась та переменная , которую я укажу в свойствах контрола. У меня на форме должно быть с десяток таких элементов управления, причем каждый должен отвечать за свою переменную

    dim vivimus vivamus!!
  •  21-04-2007, 3:51 2907 у відповідь на 2906

    Re: Нужна помощь по User Control

    Приєднання: MainForm.txt
    KubiVan:
    Ты не приавильно понял. У тебя изменяется строковая перменная контрола. А мне нужно, чтобы изменялась та переменная , которую я укажу в свойствах контрола. У меня на форме должно быть с десяток таких элементов управления, причем каждый должен отвечать за свою переменную


    Ok, я прияттачил исходных код (разнеси только классы в разные файлы) с комментариями.

    Там реализована событийная модель в классе контрола добавлено новое событие. Пример достаточно простой, есть еще пути оптимизации.

    Если у тебя своя логика по которой обновляется отображение тогда просто вызывай ctrl.Variable каждый раз как необходимо обновить значение переменной в вызывающем коде.



    С уважением, Вячеслав
    Помічено як:
Переглядати як новосний Блог RSS в XML