PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : XP-Style Progressbar in C#?


Elemental
2004-01-04, 16:00:21
Kann man in C# eigentlich auch diese schicken neuen XP-Style Progressbars machen?

http://mitglied.lycos.de/PainElemental/misc/Windows_Progress.jpg


Meine sehen immer so normal aus:
http://mitglied.lycos.de/PainElemental/misc/My_Progress.jpg


mfG
Elemental

Nagilum
2004-01-04, 16:08:57
Manifest angelegt?

Sieht fast aus als würde deine Anwendung die XP Styles überhaupt nicht benutzen? Der Button im unteren Bild sieht zumindest ziemlich nach Standard aus?

Elemental
2004-01-04, 16:10:05
Was ist denn Manifest?

Gleich mal in der MSDN suchen :D

Nagilum
2004-01-04, 16:12:36
Nehmen wir an, deine EXE heisst "elemental.exe". Dann erstell eine Datei namens "elemental.exe.manifest" im gleichen Verzeichnis wie die EXE. Mit folgendem Inhalt:


<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls" version="6.0.0.0"
language="*"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
/>
</dependentAssembly>
</dependency>
</assembly>


EXE starten und sich am Style erfreuen. :)

beta3
2004-01-04, 16:50:42
dieses manifest funktioniert bei mir nur zum teil
nur die tabs(reiter) werden mit dem xp style angezeigt, buttons sind noch normal

Nagilum
2004-01-04, 16:53:46
Original geschrieben von beta3
dieses manifest funktioniert bei mir nur zum teil
nur die tabs(reiter) werden mit dem xp style angezeigt, buttons sind noch normal

Hast du den "FlatStyle" deiner Controls auf "System" gesetzt?

beta3
2004-01-04, 17:04:09
Original geschrieben von Nagilum
Hast du den "FlatStyle" deiner Controls auf "System" gesetzt?

das wars

danke für den tipp

Elemental
2004-01-04, 18:14:42
Aber das muss doch auch ohne .manifest Datei gehen, oder?
Programme wie z.B. Nero Burning ROM verwenden ja auch XP-Styles, aber da gibts keine .manifest Datei im Installationordner ???


mfG
Elemental

Nagilum
2004-01-04, 18:52:08
Man kann das Manifest auch direkt als Ressource in die EXE einbinden. Such im MSDN mal nach RT_MANIFEST.

Elemental
2004-01-04, 22:52:42
OK, danke :)

Elemental
2004-01-08, 08:01:32
Hallo nochmal,
gerade hab ich in der MSDN Library im Artikel "Using Windows XP Visual Styles With Controls on Windows Forms" gesehen, dass die in ihrem manifest den Namen des executables mit angeben.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="X86"
name="Microsoft.Winweb.<Executable Name>"
type="win32"
/>
<description>.NET control deployment tool</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>



Gibts da nen speziellen Grund das zu machen, wo es doch auch ohne geht?


mfG
Elemental

tb
2004-01-16, 01:50:33
Geht auch einfacher:

[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.Run(...);
}

Mußt nur Deine Controls auf FlatStyle.System stellen, ist aber der Default-Wert, denk ich mal.

Thomas

grakaman
2004-01-16, 06:39:37
Original geschrieben von tb
Geht auch einfacher:

[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.Run(...);
}

Mußt nur Deine Controls auf FlatStyle.System stellen, ist aber der Default-Wert, denk ich mal.

Thomas

Aber nur mit NET 1.1

tb
2004-01-16, 16:48:53
Wieder was gelernt ;)