Autor Beitrag
Sharpy78
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 21



BeitragVerfasst: Do 27.12.07 14:20 
Hallo,

ich möchte in einer eigenen Komponente eine StringListe übergeben wo ich mir meine Daten Zeilenweise abspeichern kann.
Ähnlich einer Listbox...

Wie stellt man das an?

Im Moment verwende ich den folgenen Typen, da ist im Objektinspektor aber nicht das normale "Memo" zu sehen sondern eine Eingabe für Objekte usw. :-(


ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
        private ArrayList _Items = null;

...

        public ArrayList MyItems
        {
            set {
                    _Items = value;
                    Invalidate();
            }
            get { 
                    return _Items;
            }
        }


Für jeden Tip dankbar, Frank...
Leuchtturm
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1087

Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
BeitragVerfasst: Do 27.12.07 14:47 
List<string> müsste das sein was du suchst

_________________
Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Do 27.12.07 14:50 
Hallo Frank,
user profile iconLeuchtturm hat folgendes geschrieben:
List<string> müsste das sein was du suchst

Zur Erläuterung: ArrayList ist, wie Du gemerkt hast, eine (variable) Liste beliebiger Objekte. List<string> ist ebenfalls so etwas wie eine ArrayList (ob das intern stimmt, glaube ich nicht, sie wirkt jedenfalls so), ist aber per Deklaration auf Elemente des Typs "String" festgelegt und deshalb möglichst immer vorzuziehen.

Eine andere Frage ist, ob Dir das innerhalb des Designers hilft. Wenn Du es dort als "Memofeld" bearbeiten willst, ist ein normaler String zu verwenden, der Zeilenumbrüche enthält ("\n" oder besser Environment.NewLine).

Jürgen
Sharpy78 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 21



BeitragVerfasst: Fr 28.12.07 16:51 
Also ich habe es nun umgestellt auf den Typen String.

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
        private List<String> _Items = new List<string>();

...

        public List<String> MyItems
        {
            set
            {
                _Items = value;
                Invalidate();
            }
            get
            {
                return _Items;
            }
        }


Nur kann ich keine neuen Einträge im Objektinspektor hinzufügen.
Zur Laufzeit geht es super...

myView1.MyItems.Add("Item "+Convert.ToString(i));

Hmm ich denke ich mache noch irgendwas bei der Übergabe falsch...
Habt ihr noch einen Tip?

Gruß Frank
Sharpy78 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 21



BeitragVerfasst: Fr 28.12.07 18:30 
Nun wird's kritisch...

Jetzt kommt nach dem kompilieren immer eine Exception...

ausblenden C#-Quelltext
1:
this.myView1.MyItems = ((System.Collections.Generic.List<string>)(resources.GetObject("myView1.MyItems")));					



Ich denke mal das ich das Object (woher auch immer) nicht ordendlich zurückgebe.
:(

Wenn ich im Objektinspector was hinzufügen möchte kommt auch immer eine Fehlermeldung:

Constructor on type 'System.String' not found.


Was hab ich da vergessen/übersehen?

Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Do 03.01.08 23:35 
Hallo!

Ich kann Deinen Beschreibungen leider nicht allzu viel entnehmen. Ich glaube, Du musst mehr in Detail gehen. Vielleicht kannst Du das Projekt auch anhängen? Mit einer einzelnen Codezeile kommt man hier sicherlich nicht weiter :nixweiss:

Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".