Exemple #1
0
        private void cmbTypes_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            if (cmbTypes.SelectedItem == null)
            {
                return;
            }

            panelParameters.Controls.Clear();
            string[] parameters = Parameters();
            if (parameters == null)
            {
                return;
            }

            int i = 0;

            foreach (string param in parameters)
            {
                Label label = new Label();
                label.Text      = param + ": ";
                label.Left      = 10;
                label.Top       = 10 + i * 24;
                label.TextAlign = ContentAlignment.MiddleRight;
                panelParameters.Controls.Add(label);

                TextBox box = new TextBox();
                box.Left  = 112;
                box.Top   = label.Top;
                box.Width = 290;
                box.Name  = "box_" + param.Replace(" ", "_");

                string v;
                if (_values.TryGetValue(box.Name, out v))
                {
                    box.Text = v;
                }

                box.TextChanged += new EventHandler(box_TextChanged);
                if (param.ToLower().IndexOf("password") == 0)
                {
                    box.PasswordChar = '*';
                }
                panelParameters.Controls.Add(box);

                if (param.ToLower() == "file" || param.ToLower() == "folder")
                {
                    GetPathButton button = new GetPathButton(
                        ((param.ToLower() == "file") ?
                         GetPathButton.GetPathButtonType.file :
                         GetPathButton.GetPathButtonType.folder),
                        box
                        );
                    button.Filter = ((ConnectionItem)cmbConnections.SelectedItem).FileFilter(cmbTypes.Text);

                    panelParameters.Controls.Add(button);
                }

                if (_initialConnString != null)
                {
                    if (_initialConnString.GetUserData(param) != null)
                    {
                        box.Text = _initialConnString.GetUserData(param).ToString();
                    }
                }
                i++;
            }

            this.Height = panel1.Height + panel2.Height + panel3.Height + i * 24 + 40;
        }