Hi,
ich möchte in jeder Zelle eines DGV von Begin an einen Button hosten.
Wenn ich das per Klick auf die einzelne Zelle erledigen möchte, d.h. dass
der Button erst dann sichtbar wird funktioniert das so :
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| private void dgBmpDaten_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { Button cmdColDlg = new Button(); cmdColDlg.Dock = DockStyle.Right; cmdColDlg.Name = "cmdColorDialog"; cmdColDlg.Text = ">C<"; cmdColDlg.Width = 25; if (!dgBmpDaten.EditingPanel.Controls.ContainsKey(cmdColDlg.Name)) { dgBmpDaten.EditingPanel.Controls.Add(cmdColDlg);
} cmdColDlg.BringToFront(); } |
also soweit so gut.
Nun möchte ich aber wie gesagt dass alle Zellen des DGV mit einem Button ausgestattet sind sobald das DGV angezeigt wird.
Hier zeige ich die Zellen an:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36:
| . . . . . iOffBmpDat = btBmpBytes[10]; int iCheck = 0; for (int k = 0; k <= iGridWidth-1; k++) { for (int l = 0; l <= iGridHeight-1; l++) { for( int m = 0; m <=2; m++) { if((btBmpBytes[18]%2)!= 0) { if (iCheck == 9) { iOffBmpDat+=3; iCheck = 0; }
} btRGB_Values[m] = btBmpBytes[iOffBmpDat]; strRGB_Values = string.Concat(string.Concat(btRGB_Values[0].ToString()+ " / ", btRGB_Values[1].ToString()) + " / ", btRGB_Values[2].ToString()); iOffBmpDat ++; iCheck++; } dgBmpDaten.Rows[k].Cells[l].Value = strRGB_Values; strPixTable[k, l] = strRGB_Values;
} } } |
Wie verbinde ich diese beiden Codes. Ein anderes Ereignis kanns doch nicht sein, der Code muss doch aus
private void dgBmpDaten_CellEndEdit(object sender, DataGridViewCellEventArgs e) raus ... ?
Vielen Dank für eure Mühe und Hilfe
Questioneer
