void combo_SelectedIndexChanged(object sender, EventArgs e) { MultiColumnComboBox combo = sender as MultiColumnComboBox; if (combo == null) { return; } foreach (Replication.Conflict.FieldConflict cField in _conflict.ConflictFields) { if (combo.DataSource == cField.ConflictTable) { cField.ValueIndex = combo.SelectedIndex; break; } } }
public void RefreshGUI() { this.Controls.Clear(); if (_conflict == null || _conflict.FeatureClass == null) { return; } int y = 5, i = 0; foreach (Replication.Conflict.FieldConflict cField in _conflict.ConflictFields) { if (cField == null) { continue; } Label lbl = new Label(); lbl.Text = cField.FieldName + ":"; lbl.Location = new Point(5, y); lbl.TextAlign = ContentAlignment.MiddleRight; lbl.Width = 90; TextBox txtLinked = new TextBox(); txtLinked.Location = new Point(410, y); txtLinked.Width = 100; //if (cField.FieldName == _conflict.FeatureClass.ShapeFieldName) //{ // Button btnHighlight = new Button(); // btnHighlight.Text = ""; // btnHighlight.Width = 22; // btnHighlight.Location = new Point(520, y); // btnHighlight.Click += new EventHandler(btnHighlight_Click); // this.Controls.Add(btnHighlight); //} MultiColumnComboBox combo = new MultiColumnComboBox(); combo.AutoComplete = true; combo.AutoDropdown = false; combo.ColumnNames = ""; combo.ColumnWidthDefault = 100; combo.ColumnWidths = ColumnWidths(cField.ConflictTable); combo.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawVariable; combo.FormattingEnabled = true; combo.LinkedColumnIndex = 1; combo.LinkedTextBox = txtLinked; combo.Name = "combo" + (i++).ToString(); combo.TabIndex = 0; combo.Width = 300; combo.Location = new Point(100, y); combo.SelectedIndexChanged += new EventHandler(combo_SelectedIndexChanged); this.Controls.Add(lbl); this.Controls.Add(txtLinked); this.Controls.Add(combo); combo.DataSource = cField.ConflictTable; combo.DisplayMember = "Value"; combo.ValueMember = "Value"; y += 25; } foreach (Replication.Conflict.FieldConflict cField in _conflict.NeutralFields) { if (cField == null) { continue; } Label lbl = new Label(); lbl.Text = cField.FieldName + ":"; lbl.Location = new Point(5, y); lbl.TextAlign = ContentAlignment.MiddleRight; lbl.Width = 90; TextBox txtBox = new TextBox(); txtBox.Location = new Point(100, y); txtBox.Width = 300; txtBox.Enabled = false; txtBox.Text = (cField.Value != null) ? cField.Value.ToString() : null; this.Controls.Add(lbl); this.Controls.Add(txtBox); y += 25; } this.ResumeLayout(false); }