Hallo,
ich bin auf der Suche nach Information zu IDE's, hauptsächlich Visual Studio.
Interessant wäre zu Visual Studio:
Das OpenBook von Galileo "Visual Csharp" kenne ich schon, aber wo finde ich etwas zum Thema "Visual Studio"?
Gruß
McSteel
Du bist eingestellt, danke es klappt! Yeppiee, boah wie ich das Forum hier liebeeeee.
Ich danke Dir.
Gottseidankundallahgepriesen
Hier im Anhang ist mein Projekt zum Testen...
Hallo,
meine Aufgabe ist es verschiedene DropDownControls zu erstellen, welche verschiedne Formatierung vereinfachen sollen.
Ich habe bei CodeProject dieses Sample gefunden.
Anhand dessen habe ich mich dann mal gewagt, leider klappt es nicht so ganz wie ich will.
Ich habe ein CheckedListBox auf dieser DropDownControl gepackt und es funktioniert bis dahin. Nur verstehe ich etwas nicht. Ich möchte in der CheckedListBox mehrere Items auswählen. Das funktioniert bis dahin, aber dann möchte ich mit der Maus aus der Box und das DropDownControl "verschwindet" in den Hintergrund der Applikation. (Im Angehängten Sample findet man das DropDownControl im Hintergrund, man muß nur die Form an die Seite ziehen. Nicht Maus loslassen)
Mit LostFocus und Leave habe ich experimentiert, aber bin nicht zum Erfolg gekommen.
was könnte ich noch machen?
PS: An dieser Stelle kennt jemand ein gutes Buch über Erstellung von Steuerelement in C# für Profianwender ?
Gründe:
PropertyGrid kenne ich, aber ein nachteil hat es, es ist nur zweispaltig. DataGridView ist mehrspaltig und diese wird an dieser Stelle gebraucht!
Das DataGridView wird in diesem Projekt vorgegeben und kann mir nich aussuchen welches Control dort angwendet werden soll. Das Projekt an dem ich arbeite ist ein gemeinsames Projekt von über 20 Entwicklern.
SOOOO... Ich habs 😃
Mithilfe dieser Seite habe ich erfahren wie man Controls in DataGridView einbindet:
http://social.msdn.microsoft.com/Forums/en-US/winformsdesigner/thread/63ddb457-f769-44db-87cc-9e88e74929e8
und den DataError kann man wie folgt lösen:
private void dataGridView1_DataError(object sender, DataGridViewDataErrorEventArgs e)
{
if (e.Context == DataGridViewDataErrorContexts.Formatting)
{
e.ThrowException = false;
}
if (e.Context == DataGridViewDataErrorContexts.PreferredSize)
{
e.ThrowException = false;
}
}
und wieso, steht hier:
http://www.kebabshopblues.co.uk/2007/03/24/datagridviewcomboboxcell-errors-in-visual-studio-2005/
Ich habe bei meiner Suche ein Sample gefunden, wo ansatzweise gezeigt, was ich suche, siehe oben.
Hier wird ein TextBox und ein ComboBox für eine Spalte in DataGridView angezeigt
http://social.msdn.microsoft.com/forums/en-US/winforms/thread/34d4bc8a-a7b4-4cfd-82be-dc8b37acef28/
Punkt 1: Womit ich in erster Linie in diesem Sample nicht anfangen kann, sind this.oCodes und this.oData, wie müssen diese auschauen.
// this.oData is the DataTable that you are "viewing" in your Grid. It contains the column
// "mycodecolumn" which you wish to display as a ComboBox.
this.dataGridView1.DataBind(this.oData);
// this.oCodes is the DataSource of your Combo (a DataTable or a DataView), containing
// the following two columns in it
// "description" is the DisplayMember
// "code" is the ValueMember
this.dataGridView1.AddColumn("code", "Code", BBGridColumnTypes.ComboBox, this.oCodes, "description", "code");
this.dataGridView1.AddColumn("OtherStuff", "Other Stuff", BBGridColumnTypes.Standard);
this.dataGridView1.AddColumn("column5", "Another One", BBGridColumnTypes.Standard);
Punkt 2: Wie wollen die Classen BBComboBox und BBTextBox ausschauen? Da schlägt nämlich der Compiler.
Code Ausschnitt aus dem Sample
private BBComboBox oControl;
#region Constructor
public BBGridViewComboColumn()
: base(new BBGridViewComboCell())
{
// used to set up the formatting
oControl = new BBComboBox();
}
#endregion
Hallo TH69,
ja das habe ich festgestellt, dass das nicht so einfach ist. Aber ist möglich, denn ich habe ein .Net Applikation gefunden, indem diese Funktionen angewendet werden.
Das ich mir ein eigenes Control erstellen muß, wird mir auch so langsam bewusst.
Ich klappere gerade dieses Forum ab um zu sehen, ob ich doch noch so ein wenig Info finde, wie man sowas angehen kann. Aber ich habe schon einige sehr gute und interessante Einstellungspunkte und Bearbeitungsmöglichkeiten zu DGV entdeckt.
Vielen Dank für jede Hilfe
Lieben Gruß
mc
PS: Suche weiter...
Hallo,
ich habe da ein riesiges Problem, wo ich leider nicht mehr weiterkomme. 😉
Ich habe mein Freund Google.de wahrscheinlich die letzten 3 Tage überlastetet mit meiner Suche.
Es geht um die Darstellung und Verwendung verschiedener Steuerelemente in einer Spalte des DataGridViews. Zu den Steuerelementen zählen ComboBox mit unterschiedlichen Items, DataTimePicker, CheckedListBox, NumericUpDown ....
Ein Beispiel von mir um zwei Comboboxen mit unterschiedlichen Items zu generieren und sie in DatatGridView einzubinden:
private void GenerateComboBox(int i)
{
try
{
//Anhand des i-Variablen weiss ich welche Control ausgewählt soll
if (i == 123)
{
cmb1 = new ComboBox();
cmb1.Dock = DockStyle.Fill;
cmb1.Name = "CMB1";
cmb1.Items.Add("0");
cmb1.Items.Add("1");
cmb1.Items.Add("2");
cmb1.Width = dataGridView1.Columns[3].Width;
if (!dataGridView1.EditingPanel.Controls.ContainsKey(cmb1.Name))
dataGridView1.EditingPanel.Controls.Add(cmb1);
cmb1.TextChanged += new EventHandler(cmb1_TextChanged);
cmb1.BringToFront();
}
else if (i == 124)
{
cmb2 = new ComboBox();
cmb2.Dock = DockStyle.Fill;
cmb2.Name = "CMB2";
cmb2.Items.Add("EINS");
cmb2.Items.Add("ZWEI");
cmb2.Items.Add("DREI");
cmb2.Items.Add("VIER");
cmb2.Width = dataGridView1.Columns[3].Width;
if (!dataGridView1.EditingPanel.Controls.ContainsKey(cmb2.Name))
dataGridView1.EditingPanel.Controls.Add(cmb2);
cmb2.TextChanged += new EventHandler(cmb2_TextChanged);
cmb2.BringToFront();
}
}
catch(Exception ex)
{
System.Diagnostics.Debug.Write(ex.Message);
}
}
Aber es wird leider nur das eine in allen Zellen in einer Spalte angezeigt. Wieso? Was mache ich Falsch?
Gruß
mc