Laden...

Forenbeiträge von McSteel Ingesamt 43 Beiträge

09.02.2011 - 12:17 Uhr

Schön, gut, und wo ist die Frage?

13.08.2010 - 11:39 Uhr

Hallo,

ich bin auf der Suche nach Information zu IDE's, hauptsächlich Visual Studio.

Interessant wäre zu Visual Studio:

  • Grundlagen im Editor (Bildlauf, Navigation, Schriftarten, Farben)
  • Arbeiten mit dem Editor (Lesezeichen, IntelliSense, Code-Ausschnitte)
  • Suchen und finden (Such-Operationen, Such-Optionen)
  • Layout (Dokument-Fenster, Tool-Fenster, Symbol-Leisten, Kontext-Menüs)
  • Tools für die Entwurfszeit (Tool-Fenster, Dialog-Felder)
  • Projekte, Projekt-Mappen und Debugging

Das OpenBook von Galileo "Visual Csharp" kenne ich schon, aber wo finde ich etwas zum Thema "Visual Studio"?

Gruß

McSteel

20.05.2010 - 16:02 Uhr

Du bist eingestellt, danke es klappt! Yeppiee, boah wie ich das Forum hier liebeeeee.
Ich danke Dir.

Gottseidankundallahgepriesen

20.05.2010 - 14:49 Uhr

Hier im Anhang ist mein Projekt zum Testen...

20.05.2010 - 14:48 Uhr

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 ?

09.02.2010 - 15:45 Uhr

Gründe:

  1. PropertyGrid kenne ich, aber ein nachteil hat es, es ist nur zweispaltig. DataGridView ist mehrspaltig und diese wird an dieser Stelle gebraucht!

  2. 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.

08.02.2010 - 15:16 Uhr

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/

05.02.2010 - 11:47 Uhr

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

03.02.2010 - 17:28 Uhr

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...

03.02.2010 - 15:05 Uhr

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

09.02.2009 - 09:52 Uhr

Hi,

da gibt es schon Software, welches durch Klicken Programme schrieben tun. Ich habe meine ersten Schritte in Java mit BlueJ gemacht.
Hier kannst du eine Einführung in Java mit BlueJ einsehen: www.u-helmich.de

Mit so einem "Click-Click"-Ding zu lernen ist - glaube ich - weder einfacher noch effektiver.

Doch. Ich habe vieles von solchen Programmen, wie BlueJ, gelernt am Anfang meiner Carieer. Jetzt nutzt ich in den Visual Studio und sharpDev.

gruss steel

17.11.2008 - 10:56 Uhr

Das wür mich auch interessieren

03.11.2008 - 17:08 Uhr

soweit ich weiß gibt es nicht, würde aber gern belehrt werden, wnn dem so ist.

23.10.2008 - 09:38 Uhr

Den Design und die Idee des Tools finde ich super.

Kritik und Ideen zu deinem Tool :

  • Notify Icon oder Applications Icon sollte ein transparenten Hintergrund haben.
  • Maximieren des Tools ist abgeschaltet, das zeigt schon das eventuell mit der Bedienoberfläche etwas nicht stimmt
  • Man kann nicht die einzelnen Bereiche mit einem Splitter verkleinen: Zwischen Nachrichten & Aboverwaltung und 2. zwischen Nachrichten und dem Text
  • Mir ist das Flackern bei der Auswahl der verschiedenen Nachrichten aufgefallen
  • bei den Nachrichten wird die Ausgabe des Monats verschluckt
  • das Editieren des Aboname und URL in der Aboverwaltung fehlt
  • Updatezeit: Was ist wenn ich nur einmal am Tag ein Abo updaten, oder Woche, Stunde, 2 Stunden??? oder mit einem UpdateButton!
  • schonmal gelesen/markierte Nachrichten sollten in einer anderen Hintergrundfarbe dargestellt werden

Was ich gut finde, das sind die Nachrichten zu den einzelnen Abos angezeigt werden können. Besser wäre noch im Nachrichten ein Feld mit dem Aboname.
die Aboverwaltung sollte in eine andere Form oder etwas anderes darstellen....

Gruß steel

23.10.2008 - 09:11 Uhr

Ich habe mir das mal angeschaut, was da drin ist, du hast ja alles mit reingepackt.

ich hätte nur den Debug oder Release Ordner eingepackt
RSS-Newsreader\RSS-Newsreader\bin\Debug
RSS-Newsreader\RSS-Newsreader\bin\Release

und für Source Code den Ordner
RSS-Newsreader\RSS-Newsreader ohne den Unterordner \bin\

Gruß
steel

PS: Wenn du die Daten minimierst werden andere sich dein Programm auch runterladen und sich anschauen.

21.10.2008 - 10:21 Uhr

Je nach Aufgabenbereich sind erfoderlich:
Visual Studion 2008 (kann man ja die Expressvariante nehmen, andere Version kleiner 2008 sollten aber auch kein Problem sein) oder andere kompatible .NET Umgebung

Hier solltest unterscheiden mit welchem Framework man arbeiten sollte? Framework 2.0, Framework 3.0 oder Framework 3.5

Denn sowohl in VS2008 als auch VS2005 kann man alle Frameworks nutzen, wenn man die richtigen Setup und Updates für die jeweilige IDE installiert hat. 😉

Gruß McSteel

21.10.2008 - 10:16 Uhr

Ich habe mich mal schon auf deiner Seite registriert, da ich sehr interessiert bin an dieser Sache. Ich würde gerne mitmachen.
Zu meiner Person: ich programmiere seit 1998, aber seit 2 Jahren Fulltime im Bereich .NET & CSharp. Und habe mich mal das eine oder andere an 3D Modellierung mit 3Dmax und Milkshape ausprobiert.

Was mich eigentlich interessiert ist, wie man ein fertiges 3D Modell in einem 3D Raum mit Quellcode bewegt. Deshalb würde ich an der 3D Modellierung von Objekten beteiligen und mithilfe von euch könnte ich eventuell zur Modellierung und eventuell Quellcode etwas beitragen.

Gruß McSteel

14.07.2008 - 14:12 Uhr

Der Punkt 1.1.2 fehlt: Was sind Grundlagen?
alles was du im openbook oder in guide to c# findest.

ansonsten gild das was ich schreibe. wenn du ein konkretes problem hast beim implementieren und verwenden von IComparable<t> dann helfe ich dir natürlich gerne weiter aber einfach nur zu schreiben das du es nciht verstehst ist nicht ausreichend.

Es geht wahrscheinlich nicht mit IComparable<T> sondern mit IComparer<T>, da man bei dieser Aufgabe Objekte und Listen vergleichen muss.
CodeReview für alle anderen:


public class BlockComparer: IComparer<Block>{
        public List<aObjects> List = new List<aObjects>();
        public aObjects blockType;
        public Compare CValue;

        public Compare CompareBlock(Block x, Block y)
        {
            if(x.aObjects.Name == y.aObjects.Name)
                CValue = Compare.TRUE;
            else
                CValue = Compare.FALSE;
        }
}

public class aObjectsComparer: IComparer<aObjects>{
        //...
        public Compare CValue;

        public Compare CompareAObjects(aObjects x, aObjects y)
        {
            if(x.Name == y.Name)
                CValue = Compare.TRUE;
            else
                CValue = Compare.FALSE;
        }
}

enum Compare
{
   TRUE,
   FALSE
}

und wie verwende ich den???!!!

Hinweise zur Programmierung eines mehrdimensinonalen Liste wären hilfreicher gewesen
das nützt dir hier nichts. deswegen auch kein hinweis hierzu.

den weg über compareid´s würde ich nciht gehen. der ist badstyle in diesem fall, da es ncihts mit einer id (identification) zu tun hat. stattdessen empfiehlt sich ein bool oder enum.

SIR ja SIR, wie befohlen, siehe oberen C# Code

so wie du das hier gemacht hast ist es ein workaround. das ist nur eine anmerkung an diejenigen, die diesen thread irgendwann mal finden und der meinung sind das das der weg ist den man geht. wenn du damit zufrieden bisst dann ist das somit für dich zwar gelöst aber wehe es kommt mal ein codereview^^

Nunja zufrieden nicht, aber die Funktion ist damit fürs erste erfüllt.

14.07.2008 - 13:51 Uhr

Ich bin soweit, dass ich zwei Methoden erstellt habe, in welchen die Objekte Block und aObjects verglichen werden und die Werte 0 und 1 zu dem Eigenschaft CompareID übergeben werden.

Definition von CompareID:
0 = Objekt ist in der anderen Liste vorhanden
1 = Objekt ist in der anderen Liste nicht vorhanden

Was mir nun fehlt ist, dass dies als TextStream und in einem TreeView dargestellt wird?


        public void CompareBlock(Block a, Block b)
        {
            if (a.blockType.Name == b.blockType.Name)
            {
                int count = 0;
                if (b.List.Count > a.List.Count)
                {
                    count = b.List.Count;
                }
                else
                {
                    count = a.List.Count;
                }
                for (int i = 0; i < count; i++)
                {
                    if (i > a.List.Count-1)
                    {
                        b.List[i].CompareID = 1;
                        continue;
                    }
                    if (i > b.List.Count-1)
                    {
                        a.List[i].CompareID = 1;
                        continue;
                    }
                    if (a.List[i].Name == b.List[i].Name)
                    {
                        a.List[i].CompareID = 0;
                        b.List[i].CompareID = 0;
                    }
                    else
                    {
                        a.List[i].CompareID = 1;
                        b.List[i].CompareID = 1;
                    }
                }
            }
        }

        public void CompareBlockList(List<Block> a, List<Block> b)
        {
            bool found = false;
            int count = 0;
            if (b.Count > a.Count)
            {
                count = b.Count;
            }
            else
            {
                count = a.Count;
            }
            for (int i = 0; i < a.Count; i++)
            {
                found = false;
                for (int j = 0; j < b.Count; j++)
                {
                    if (a[i].blockType.Name == b[j].blockType.Name)
                    {
                        found = true;
                        CompareBlock(a[i], b[j]);
                        a[i].CompareID = 0;
                        b[j].CompareID = 0;
                    }
                }
                if(! found)
                {
                    a[i].CompareID = 1;
                }            
            }
        }

        private void btnCompare_Click(object sender, EventArgs e)
        {
                BlocklistStapel1.Clear();
                BlocklistStapel2.Clear();
                strTemp = "";
                Value currentBlock = Value.NULL;
                int blockIndex = 0;
                bool blockFound = false;
                //int currentIndex = 0;

                Block b = null;
                foreach (aObjects y in Stapel1)
                {
                    if (y.Typ == Typ.C)
                    {
                        if (b != null)
                            BlocklistStapel1.Add(b);
                        b = new Block();
                        b.blockType = y;
                        blockIndex = 0;
                    }
                    if (y.Typ != Typ.C)
                    {
                        b.List.Add(y);
                        blockIndex++;
                    }
                }
                if (b != null)
                    BlocklistStapel1.Add(b);

                b = null;

                foreach (aObjects y in Stapel2)
                {
                    if (y.Typ == Typ.C)
                    {
                        if (b != null)
                            BlocklistStapel2.Add(b);
                        b = new Block();
                        b.blockType = y;
                        blockIndex = 0;
                    }
                    if (y.Typ != Typ.C)
                    {
                        b.List.Add(y);
                        blockIndex++;
                    }
                }
                if (b != null)
                    BlocklistStapel2.Add(b);

                CompareBlockList(BlocklistStapel1, BlocklistStapel2);
                CompareBlockList(BlocklistStapel2, BlocklistStapel1);
           }

14.07.2008 - 13:36 Uhr

Hallo McSteel,
wenn du unsere Antworten oder die Doku nicht verstehst, weil dir noch die Grundlagen fehlen, ist das schon ok. Nur erwarten wir dann von dir, dass du dir diese Grundlagen erstmal selbst aneignest.

Tue ich das nicht, woher willst du wissen, dass ich mir sie nicht angeeignet habe?!

Hinweise zur Programmierung eines mehrdimensinonalen Liste wären hilfreicher gewesen. Im MSDN und in diesem Forum habe ich leider zu meinem speziellen Thema nichts gefunden.

Ein Forum kann das nicht leisten. Siehe
>
Punkt 1.1.1.
herbivore

Kenne ich schon! Zu Punkt 1.1.1. ist deine Definition des Forums. Der Punkt 1.1.2 fehlt: Was sind Grundlagen?

Sorry wir hatten schonmal diesbezüglich ein Diskussion mit Dir im Forum. Aber ich möchte hier mit dir drüber nicht diskutieren.

14.07.2008 - 10:38 Uhr

Ich habe mir dieser Beispiel http://msdn.microsoft.com/de-de/library/system.icomparable.compareto(VS.80).aspx, soweit bin ich ja schon.

Leider weiß ich nicht, wie ich sie richtig anwenden soll :< (i'm dau)

13.07.2008 - 21:03 Uhr

Ich würde am objekt, das verglichen werden soll die IComparable schnittstelle implementieren und dann mit 2 foreach durch beide listen rattern und vergleichen.

@JAck30lena: Ich habe es noch nie mit IComparable gemacht. Ich wüsste an dieser Stelle nicht was und wie ich es machen sollte.

@Tomot:
Danke, waren Tippfehler von mir.

12.07.2008 - 15:50 Uhr

Hat einer eine Ideee?

11.07.2008 - 15:17 Uhr

@trib: Mit deinem sample klappt es nicht

Was genau meinst du mit Blöcken und was möchtest du genau vergleichen?

//Block Anfang
C.A1 = C.A1 //-> Block Anfang kennzeichnet sich mit Typ.C
T.E1 = T.E1
T.E2 = T.E2
T.E4 = T.E4
T.E6 = T.E6
X.XX = T.E4 => in Stapel 1 nicht vorhanden
T.E8 = T.E8
// Block Ende -> kennzeichnet sich durch das leere Ende oder ein Typ.C

//Block Anfang
C.A2 = C.A2
T.E6 = T.E6
T.E4 = T.E4
T.E4 = T.E4
T.E9 = X.XX => in Stappel 2 nich vorhanden
//Block Ende

//Block Anfang => Block mit C.A3 fehlt in Stapel 1
X.XX = C.A3 => in Stapel 1 nicht vorhanden
X.XX = T.E6 => in Stapel 1 nicht vorhanden
X.XX = T.E4 => in Stapel 1 nicht vorhanden
X.XX = T.E4 => in Stapel 1 nicht vorhanden
X.XX = T.E9 => in Stapel 1 nicht vorhanden
//Block Ende

//Block Anfang
C.A4 = C.A4
T.E1 = T.E1
T.E1 = T.E1
T.E1 = T.E1
T.E9 = X.XX =>in Stapel 2 nicht vorhanden
//Block Ende

Ich steig bei der Frage nicht so ganz durch 🙂 ... haste vll bisschen umständlichen beschrieben. - wenns geht nochmal etwas einfacher bitte.

Mache ich gerne.
1.) Es sollen Blöcke aus den Listen(Stapel 1 & 2) rausgefiltert werden.
2.) Anhand des Blockanfangs kann man den Block auch im anderen Stapel finden
3.a) Blöcke in den Stapel sollen verglichen werden,
3.b) Fehlende Blöcke in den Stapel darstelle, wenn C.A3 nicht auffindbar, diese als nicht vorhanden darstellen in der Liste, wo es fehlt.
4.a) Objekte in den Blöcken sollen nach der Filterung der Blöcke verglichen werden
4.b) Fehlende Objekte in Blöcken darstellen
5.) Alles soll in einem "strukturierten" Text in einer Log Datei abgespeichert werden
6.) In zwei Treeviews soll nach dem Vergleich alle Objekte gegenüber aufglistet werden und die fehlenden Objekten gekennzeichnet werden

11.07.2008 - 14:39 Uhr

Hallo,

ich versuche seit gestern ein Vergleich durchzuführen. Leider komme ich irgenwie nicht weiter. Brauche eure Hilfe.

  • Es sind zwei unterschiedlich Listen(Stapel1, Stapel2) mit verschieden Objekten vorhanden
  • Ein Stapel besteht aus mehreren unterschiedlichen Blöcken von Typ.C zu Typ.C.
  • Blöcke können fehlen
  • Alle Objekte müssen in einem Block(z.B Value.A3) eines Stapels aus mit der andern Block aus dem Anderem Stapel verglichen werden.

Meine Versuche sind gescheitert. Lösungsansätze waren jedem Typ eine Position im Stapel zu vegeben und anhand dieser zu Vergleichen aber das klappt nicht...

Das ist die Klasse der Objekte:


using System;
using System.Collections.Generic;
using System.Text;

namespace CompareObjects
{
    public class aObjects
    {
        public Typ Typ;
        public Value Value;
        public int CompareID = -1;

        public aObjects(Typ typ, Value value)
        {
            this.Typ = typ;
            this.Value = value;
        }

        public string Name
        {
            get { return Typ.ToString() + "." + Value.ToString(); }
        }

    }

    public enum Typ {C, T}

    //Die Aufzählöungen haben andere Werte
    public enum Value{A1 = 1234, A2 = 1321, A3 = 1234, A4 = 1123, E1=1121, E2=2123, E3=3242, E4=4563, E5=5638, E6=6523, E7=7829, E8=8367, E9=9232} // und etliche weitere.....


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace CompareObjects
{
    public partial class Form1 : Form
    {
        private List<aObjects> Stapel1 = new List<aObjects>();
        private List<aObjects> Stapel2 = new List<aObjects>();

        string strTemp = string.Empty;
        public Form1()
        {
            InitializeComponent();

            FillTheObjects();
        }

        public void FillTheObjects()
        {
            Stapel1.Add(new aObjects(Typ.C, Value.A1));
            Stapel1.Add(new aObjects(Typ.T, Value.E1));
            Stapel1.Add(new aObjects(Typ.T, Value.E2));
            Stapel1.Add(new aObjects(Typ.T, Value.E4));
            Stapel1.Add(new aObjects(Typ.T, Value.E6));
            Stapel1.Add(new aObjects(Typ.T, Value.E8));
            Stapel1.Add(new aObjects(Typ.C, Value.A2));
            Stapel1.Add(new aObjects(Typ.T, Value.E6));
            Stapel1.Add(new aObjects(Typ.T, Value.E4));
            Stapel1.Add(new aObjects(Typ.T, Value.E4));
            Stapel1.Add(new aObjects(Typ.T, Value.E9));
            Stapel1.Add(new aObjects(Typ.C, Value.A4));
            Stapel1.Add(new aObjects(Typ.T, Value.E1));
            Stapel1.Add(new aObjects(Typ.T, Value.E1));
            Stapel1.Add(new aObjects(Typ.T, Value.E1));
            Stapel1.Add(new aObjects(Typ.T, Value.E9));

            Stapel2.Add(new aObjects(Typ.C, Value.A1));
            Stapel2.Add(new aObjects(Typ.T, Value.E1));
            Stapel2.Add(new aObjects(Typ.T, Value.E2));
            Stapel2.Add(new aObjects(Typ.T, Value.E4));
            Stapel2.Add(new aObjects(Typ.T, Value.E6));
            Stapel2.Add(new aObjects(Typ.T, Value.E4));
            Stapel2.Add(new aObjects(Typ.T, Value.E8));
            Stapel2.Add(new aObjects(Typ.C, Value.A2));
            Stapel2.Add(new aObjects(Typ.T, Value.E6));
            Stapel2.Add(new aObjects(Typ.T, Value.E4));
            Stapel2.Add(new aObjects(Typ.T, Value.E4));
            Stapel2.Add(new aObjects(Typ.C, Value.A3));
            Stapel2.Add(new aObjects(Typ.T, Value.E6));
            Stapel2.Add(new aObjects(Typ.T, Value.E4));
            Stapel2.Add(new aObjects(Typ.T, Value.E4));
            Stapel2.Add(new aObjects(Typ.T, Value.E9));
            Stapel2.Add(new aObjects(Typ.C, Value.A4));
            Stapel2.Add(new aObjects(Typ.T, Value.E1));
            Stapel2.Add(new aObjects(Typ.T, Value.E1));
            Stapel2.Add(new aObjects(Typ.T, Value.E1));
        }

        public int Compare(aObjects x, aObjects y)
        {
            if (x.Name == y.Name)
                return 0;
            else
                return 1;
        }

        private void btnCompare_Click(object sender, EventArgs e)
        {
            foreach (aObjects x in Stapel1)
            {
                strTemp = "";
                foreach (aObjects y in Stapel2)
                {
                        //.... hier fehlt mir der code
                            x.CompareID = Compare(x, y);
                            y.CompareID = Compare(x, y);
                            if (x.CompareID == 0)
                            {
                                strTemp =  x.Name + " = " + y.Name;
                            }
                            else if (x.CompareID = 1)
                            {
                                strTemp = y.Name + " ist in Stapel 1 nicht vorhanden";
                            }
                            else if (y.CompareID = 1)
                            {
                                strTemp = x.Name + " ist in Stapel 2 nicht vorhanden";
                            }
                        //.... hier fehlt mir der code
                       Console.WriteLine(strTemp);
                }
            }
        }
    }
}

Dieser Stream soll am Ende als Text Form ausgegeben werden

Stapel1 = Stapel2

C.A1 = C.A1
T.E1 = T.E1
T.E2 = T.E2
T.E4 = T.E4
T.E6 = T.E6
T.E4 ist in Stapel 1 nicht vorhanden
T.E8 = T.E8

C.A2 = C.A2
T.E6 = T.E6
T.E4 = T.E4
T.E4 = T.E4
T.E9 in Stapel 2 nicht vorhanden

C.A3 in Stapel 1 nicht vorhanden
T.E6 in Stapel 1 nicht vorhanden
T.E4 in Stapel 1 nicht vorhanden
T.E4 in Stapel 1 nicht vorhanden
T.E9 in Stapel 1 nicht vorhanden

C.A4 = C.A4
T.E1 = T.E1
T.E1 = T.E1
T.E1 = T.E1
T.E9 in Stapel 2 nicht vorhanden

Ich danke im voraus für jeden Tipp!!!
steel

10.07.2008 - 10:51 Uhr

Bei deinem Projekt habe ich mich sofort an XMLSpy erinnert. Wenn dein Projekt in die Richtung geht, dann bin ich sehr daran interessiert es schonmal zu testen 😉
Viel Erfolg

02.07.2008 - 11:43 Uhr

Da gibts doch schon fertige Wirtschaftssysteme. Google mal nach dem Wort und erkundige dich dort mal. Und dann kannst du Deine Frage nochmal stellen 😉

27.06.2008 - 13:50 Uhr
  • die Spanier spielen härter als die Türken, der eine oder wird nicht nur eine Platzwunde haben

...was nicht gerade fuer sie spricht, wenn sie wegen solcher groben Fouls dann in Unterzahl spielen muessen.

Haben die Türken auch in Unterzahl nicht gespielt. "Aug' zu drück"-Schiedsrichter sind doch bei dieser EM gang und gebe. ;>

27.06.2008 - 13:40 Uhr

Spanien natürlich!

Gründe:

  • noch kein verlorenes Spiel in der EM2008
  • starke Mannschaft
  • sehr gutes Taktikspiel
  • die Spanier spielen härter als die Türken, der eine oder wird nicht nur eine Platzwunde haben
  • und und und ....

Oleeee
Viva Espana

23.06.2008 - 10:12 Uhr

Ich nehme mal an, es ist eine Aufgabe, da würdich den Lehrer aber anmeckern. Weil zum guten Proggen gehört ganz wesentlich, daß man geeignete Komponenten nimmt, so vorhanden. Und wenner das untersagt - buh!

Ja ja immer diese Le(e)hrer. Ich habe auch mal eine 4 bekommen, weil angeblich ich fertige Klassen benutzt habe, unsere Aufgabe war es wohl alles nach zu programmeren. LOL

13.06.2008 - 12:19 Uhr

Hast recht! Während der Laufzeit des Firefox habe ich den Cache gelöscht, hatte nichts bewirkt. Nach einem Neustart des Mozilla Firefox ist wieder alles OK.

13.06.2008 - 12:11 Uhr

Hallo,

wenn ich http://www.mycsharp.de/ in Adressleiste von Firefox eingebe, werde ich auf http://www.mycsharp.de/wbb2/ weitergeleitet und sehe diese Meldung:

myCSharp.de ist wegen Überlastung vorübergehend offline.

Bitte probiere es in ca. 15 Minuten noch einmal.

Für die Unannehmlichkeiten möchten wir uns entschuldigen.

wenn ich manuell http://www.mycsharp.de/wbb2/ auf http://www.mycsharp.de/wbb2/index.php erweitere, komme ich erste ins Forum hinein.

Ist das bei euch auch so?

Gruß
McSteel

PS: Sorry das ich mehrmals editieren musste, jetzt weiß ich wofür der Vorschau Button seine Aufgabe hat

20.05.2008 - 11:03 Uhr

Printable Listview bei Codeproject.com

gruss mcsteel

15.05.2008 - 15:34 Uhr

Es gibt auch WebCast Serien zu GUI und GDI. Siehe unter den WebCast Serien

gruss mcsteel

18.04.2008 - 12:42 Uhr

Vielen Dank, Problem2 ist behoben.

18.04.2008 - 11:49 Uhr

Hallo.

ich verwende zwei TreeViews und sie werden unterschiedlich befüllt.

treeview1
Xx1xxx mit der Id = 1
Xx2xxx mit der Id = 2
Xx3xxx mit der Id = 3
Xx4xxx mit der Id = 4
Xx5xxx mit der Id = 5

treeview2
Xx1xxx mit der Id = 1
Xx2xxx mit der Id = 2
Xx9xxx mit der Id = 0
Xx3xxx mit der Id = 3
Xx4xxx mit der Id = 4
Xx5xxx mit der Id = 5
Xx9xxx mit der Id = 0
Xx6xxx mit der Id = 6

Ich versuche hier ein Knoten in treeview2 zu selektieren und die Daten von list2 zu bearbeiten, gleichzeitig soll aber treeview1 ausgewählt werden, wobei die list1.Id gleich dem list2.Id ist.


        private void tvConfiguredDevices_AfterSelect(object sender, TreeViewEventArgs e)
        {
            try
            {
                ST_List list2 = new ST_List();

                if (treeview2.SelectedNode.Text.Substring(2, 1) == "9")
                {
                    // das vorher selektierte Knoten muss auf Default "Color.White" gestellt werden
                    if (treeview1.SelectedNode != null)
                        treeview1.SelectedNode.BackColor = Color.White;
                    //und es wird nichts ausgewählt.
                }
                else
                {
                    //list2 feststellen
                    list2 = this.GetNodeParameters(treeview2.SelectedNode);
                    Bearbeite(list2);

                    //list1 feststellen
                    list1 = this.m_Base.SelectScannedBox(list2.Id);
                    Bearbeite(list1)

                    // Selektiere Knoten in treeview1
                    if (treeview1.SelectedNode != null)
                        treeview1.SelectedNode.BackColor = Color.White;
                    treeview1.SelectedNode = treeview1.Nodes[list1.Id.ToString()];
                    treeview1.SelectedNode.BackColor = Color.Gray;

                    // Soll die icons des selektierten Node neuzeichnen.
                    treeview2.SelectedNode.ImageKey = this.m_Base.GetImageIcon(list1.Name);
                    treeview1.SelectedNode.ImageKey = this.m_Base.GetImageIcon(list2.Name);
                }

Problem 1:
Gibt es eine Möglichkeit festzulegen, das der Knoten mit dem Wert Xx9999 zu überspringen. Denn wenn ich Xx3xxx auswähle in treeView2, dann werden mir aber die Werte von Xx4xxx in treeview1 und treeview2 angezeigt. Wie kann man sowas lösen?

Problem 2:
treeview2.SelectedNode.ImageKey bekommt nicht den Icon sondern, den Icon der an erster Stelle in meinem ImageList vorhanden ist. Dei Methode GetImageIcon hat aber den richtigen Wert drin. Kann es sein, das nach AfterSelect, das ganze TreeView neugezeichnet wird? Kann man das irgendwie umgehen?

Gruß McSteel

16.04.2008 - 22:52 Uhr

Es ist keine Kritik. Es ist ein Wunsch.
Es würde vielen (wie mir 😁 ) die Arbeit bei der Suche in den Lesezeichen in Millisekunden Zeit ersparen.

@herbivore:
Ja, das mit den Suchmachinen habe ich mir schon gedacht.
Sie sollen ja nicht ganz weg, sondern die Reihenfolge nur ändern:

<title>myCSharp.de - DIE C#- und .NET Community - | Wünsche und Kritik |  Titel oder die Titel(pl) von myCsharp ändern</title>

stattdessen

<title>Titel oder die Titel(pl) von myCsharp ändern  - | Wünsche und Kritik | - myCSharp.de - DIE C#- und .NET Community</title>

Würde diese Quellcode-Veränderung bei Suchmaschinen in Ranking der Seite eine Rolle spielen?!

Das mit der rechten Maustaste klappt sehr gut 😉

Das mit der linken Maustaste, komme ich zu dem alten Ergebnis. Ich nutze dabei Firefox 2.0.0.13 auf Win XP.

Danke

16.04.2008 - 22:07 Uhr

Hallo,

ich mach öfters Lesezeichen (Bookmarks) mit meinem Browser und der nimmt gewöhnlich den <Titel> Tag aus dem HTML und speichert den ab.

Mein Problem dabei ist, das dann alle Lesezeichen gleich ausschauen:

<Bild nicht mehr vorhanden>

und dann das Thema gar nicht erkennen kann!

Könnt der Besitzer dieser Seite dieser Änderungen vornehmen?

Ich wäre auch sehr dankbar.

09.04.2008 - 17:27 Uhr

Lass uns mal zusammen setzen, d.h. in einem separaten Forum oder Chat, in welchem wir diskutieren können über die anstehenden Aufgaben.

Gruß McSteel

08.04.2008 - 13:25 Uhr

Hi. Falls noch Interesse besteht, ich würde gerne mitmachen!