Laden...

Forenbeiträge von SimpsonFire Ingesamt 13 Beiträge

15.11.2011 - 12:00 Uhr

Hallo,
danke für die schnelle Antwort.

Gibt es keine andere Variante ?

für MeasureString bräuchte ich PaintEventArgs hab aber in meiner Funktion nur :

private void TreeGV_ColumnWidthChanged(object sender, EventArgs e)
{
..........
}

Und mit MeasureString kann ich nicht an eine bestimmte stelle schreiben !?

15.11.2011 - 11:24 Uhr

Hallo,
hab hier ein komisches Problem.
Hoffe Ihr könnt mir helfen.
Ich möchte im Column Header links eine 1 und rechts eine 2 stehen haben.

Mit:


TreeGV.Columns[3].Width

bekomme ich die breite der Spalte

dann habe ich:


          TreeGV.Columns[3].HeaderText = "1"
     
                for (int i = 0; i <  TreeGV.Columns[3].Width -2; i++)
                {
                    TreeGV.Columns[3].HeaderText += " ";
                }
          TreeGV.Columns[3].HeaderText += "2"

Aber der letzte Werte wird nie angezeigt.
Anscheinend ist TreeGV.Columns[3].Width nicht der richtige Wert ?????

Hoffe Ihr habt eine Idee

22.08.2011 - 12:19 Uhr

Danke,
ich werde mal nachschauen.

22.08.2011 - 11:45 Uhr

Hallo,
möchte eine Klasse als XML Dokument speichern.
Hab im Internet gelesen das man dictonarys nicht umwandeln kann.
Hat jemand eine Idee ?
Danke für jeden Tip


  [Serializable]
    public class Status 
    {
       String _Name;
  
        public Status(String Name)
        {
            _Name = Name;
        }

        public Status() { }


        public String Name
        {
            get
            {
                return _Name;
            }
        }

       ///  [XmlIgnore]
        public Dictionary<String, IVSElement> elements = new Dictionary<String, IVSElement>() ;
         
    }

    public interface IVSElement
    {
    }


    [Serializable]
    public class VSE<Type> : IVSElement
    {
        public ViewStatusElement(Type v)
        {
            this.Value = v;
        }

        public Type Value;
    }

So möchte ich Serialisieren :


Status VS;
 System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(vs.GetType());
            x.Serialize(Console.Out, VS);

Bin im Internet auf folgendes gestpßen:



public static class SerializationExtensions
{
    public static string Serialize<T>(this T obj)
    {
        var serializer = new DataContractSerializer(obj.GetType());
        using (var writer = new StringWriter())
        using (var stm = new XmlTextWriter(writer))
        {
            serializer.WriteObject(stm, obj);
            return writer.ToString();
        }
    }
    public static T Deserialize<T>(this string serialized)
    {
        var serializer = new DataContractSerializer(typeof(T));
        using (var reader = new StringReader(serialized))
        using (var stm = new XmlTextReader(reader))
        {
            return (T)serializer.ReadObject(stm);
        }
    }
}

This works perfectly in .NET 4 and should also work in .NET 3.5, although I didn't test it yet. I did the streaming to string because it was more convenient to me, although I could have introduced a lower-level serialization to Stream and then used it to serialize to strings, but I tend to generalize only when needed (just like premature optimization is evil, so it is premature generalization...)

Usage is very simple:

// dictionary to serialize to string
Dictionary<string, object> myDict = new Dictionary<string, object>();
// add items to the dictionary...
myDict.Add(...);
// serialization is straight-forward
string serialized = myDict.Serialize();
...
// deserialization is just as simple
Dictionary<string, object> myDictCopy = 
    serialized.Deserialize<Dictionary<string,object>>();

Leider fehlt mir die Verbindung zu meinem Code.
Möchte ja nicht nur das Dictonary speichern sondern die Klasse in der sich das Dictonary befindet.

03.08.2011 - 10:40 Uhr

Nein.

Habe ein Formular frmBasis.
Und ein Formular FrmC was von frmBasis erbt.
Also .... FrmC : frmBasis

Möchte jetzt auf Methode1 zugreifen.
Damit ich das realisieren kann muss ich diese in frmBasis angeben. Das mache ich mit:

 
public  abstract partial   class frmbasis
{
abstract public void Methode1();
}

wichtig ist dabei "abstract"

Die eigentliche Methode befindet sich dann aber in der abgeleiteten Form FrmC
die natürlich auch mit Methode1 bezeichnet werden muß.


  public override  void Methode1()
        {
        }


Nur kann ich jetzt das Formular FrmC nicht mehr mit dem Designer öffnen.
Das ist mein großes Problem. Gibt es dafür eine Lösung ?

Gruß

02.08.2011 - 10:11 Uhr

Hallo,
habe ein Basis Formular von dem ich alle anderen Formulare ableite.
in meinem Basis Formular habe ich eine Methode deklariert, die ich von den abgeleiteten Formularen überschreiben möchte.

Mein Ansatz:


public  abstract partial   class frmbasis
{
 abstract public void Methode1(ViewStatus s);
}


Das funktioniert auch mit overwrite der Methode1 in den abgeleiteten Formularen.
Nur kann ich wegen abstract den Designer der abgeleiteten Formulare nicht mehr starten.

Fehlermeldung:
Der Designer kann keine Instanz des Types ...... erstellen, da dieser als abstrakt deklariert ist.

Gibt es noch ne andere möglichkeit ?

Gruß

29.07.2011 - 10:53 Uhr

Hallo,

ich möchte gerne rausfinden ob jemand auf dem Formular arbeitet oder nicht.
Gibt es ein Event das auf einem Formular ausgelöst wird, auch wenn jemand einen Button auf dem Formular betätigt?

Gruß

27.07.2011 - 09:38 Uhr

Hallo,
hoffe mir kann jemand helfen.

Habe ein Formular das wärend der Laufzeit initialisiert wird.
Auf diesem Formular wird ein Steuerelement initialisiert.
Jetzt möchte ich aus dem Steuerelement herraus das Steuerelement löschen und eine Funktion des Formulars aufrufen.

Hat da jemand einen ansatz für mich ?

13.07.2011 - 07:46 Uhr

Danke für den TIP.
Programmiere eine DLL in c#.net
Diese wird später in einen SQL Server 2005 implementiert.

Nullable kennt aber erst der SQL Server 2008.

Habe das Problem aber schon anders gelöst.

Gruß

12.07.2011 - 11:25 Uhr

Hallo,
möchte gerne in C#.net die Windows 7 -> Windows - Navigationsleiste nachbilden.
Die in jedem Explorer angezeigt wird.
Siehe Anhang.

Hat jemand eine Idee ?
Vieleicht gibt es sowas ja schon....

Danke

08.07.2011 - 15:38 Uhr

Hallo,
hoffe mir kann jemand helfen.

Möchte einen DefaulParameter setzen.
Am liebsten wäre mir ja null. Aber das Geht ja nicht. Deswegen habe ich mich jetzt für ein Datum entschieden. Worauf ich dann prüfen kann.

Folgendes habe ich probiert:



 public static void ws([DefaultParameterValue(new System.DateTime(1980, 1, 1))] DateTime Datum)
{ 

}

Fehlermeldung:
Ein Attributargument muss ein constant-, typeof- oder Arrayerstellungsausdruck eines Attributparametertyps sein.

Danke für jeden Tip