/// <summary> /// Edit Box /// </summary> void RenameView(Point p, string initialText, Control[] controls, EditText t) { if (m_bUsingTextBox) return; m_bUsingTextBox = true; m_et = t; m_controls = new Control[controls.GetLength(0)]; controls.CopyTo(m_controls, 0); m_tb.Text = initialText; this.m_tabControl.Parent.Controls.Add(m_tb); m_tb.BringToFront(); m_tb.Focus(); m_tb.Location = p; m_tb.Show(); }
/// <summary> /// Translate controls using the current assembly translation XML. It matches the control name. /// </summary> /// <param name="controls">Controls to translate.</param> /// <param name="xmlName">Subelement inside the XML file.</param> public static void TranslateControls(Control.ControlCollection controls, string xmlName) { string assemblyName = Assembly.GetCallingAssembly().ManifestModule.Name; assemblyName = assemblyName.Substring(0, assemblyName.LastIndexOf('.')); // Remove extension Control[] controlArray = new Control[controls.Count]; controls.CopyTo(controlArray, 0); TranslateControls(controlArray, xmlName, assemblyName); }
/// <summary> /// Fills the instance with the given controls in the two arrays. /// Both arrays must have the same size. Otherwise an <see cref="ArgumentException"/> /// will be thrown. /// </summary> /// <param name="labels">Array with <see cref="Label"/> objects</param> /// <param name="controls">Array with <see cref="Control"/> objects</param> public void Fill(Label[] labels, Control[] controls) { if (labels.Length != controls.Length) throw new ArgumentException("Number of specified labels must match the number of specified controls.", "labels"); Clear(); _labels = new Label[labels.Length]; labels.CopyTo(_labels, 0); _controls = new Control[controls.Length]; controls.CopyTo(_controls, 0); for (int i = 0; i < _labels.Length; i++) this.Controls.Add(_labels[i]); for (int i = 0; i < _controls.Length; i++) this.Controls.Add(_controls[i]); RefreshLayout(); }