Announcement

Collapse
No announcement yet.

ShortPathName

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • ShortPathName

    Hallo zusammen,

    wie kann man es in C# realisieren, diese schönen gekürtzen Pfadangaben zu erhalten.

    z.B.: .\..\Test\test.txt

    anstatt c:\temp\downloads\test\test.txt

    Gibt es da eine Klasse im .NET oder muss man eine eigene schreiben?

    Gruß

    Sascha

  • #2
    Hallo,

    es gibt in der Tat im .NET Framework etwas Vorgefertigtes, wie das folgende Beispiel zeigt:
    <code>
    <b>private</b> <b>string</b> s = @<font color="#9933CC">&quot;C:\Programme\Test\Test2\Test 3\test.txt&quot;</font>;
    <br>
    <b>private</b> <b>void</b> Form1_Paint(<b>object</b> sender, System.Windows.Forms.PaintEventArgs e)
    {
    StringFormat aSF = <b>new</b> StringFormat();
    aSF.FormatFlags = StringFormatFlags.NoWrap;
    aSF.Trimming = StringTrimming.EllipsisPath;
    Brush aBrush = <b>new</b> SolidBrush(<b>this</b>.ForeColor);
    e.Graphics.DrawString(s, <b>this</b>.Font, aBrush, <b>this</b>.ClientRectangle, aSF);
    }
    </code>
    Das Ganze könnte man auch in einen Label-Nachfolger verpacken

    Comment


    • #3
      Hi,

      habe es mal ausprobiert! Aber irgendwie scheint das nicht wirklich zu klappen, denn es kommt der gleich string bei raus (input == output).

      Gruß

      Sasch

      Comment


      • #4
        Hi!
        Hast Du auch das Label (o.ä.) in der Größe beschränkt? Die Funktion richtet sich nach dem verfügbaren Platz und kürzt nur,
        wenn notwendig. (richtet sich nach this.ClientRectangle)

        Ciao

        Benn

        Comment

        Working...
        X