mboost-dp1

C# Windows Application


Gå til bund
Gravatar #1 - MThomsen
25. mar. 2008 19:05
Hejsa.
Jeg er ved at lave en Windows Application i Microsoft Visual Studio 2008, c#. Et kasse lignende apparat.

Og jeg har et problem.

Jeg har en Form, ViewProducts, der viser produkter, man kan købe dem osv.
Der har jeg en ToolStripMenu, hvor man kan trykke bla. About.
I koden har jeg skrevet følgende:

private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
{
AboutBox About = new AboutBox();
About.ShowDialog();
}

Og den viser sørme Aboutboxen, og gør også så man ikke kan trykke ved siden af den, uden at lukke den først..
Men..
Den skal gerne se sådan her ud
Men den ser sådan her ud

Er der nogle der kan hjælpe med det?
Hvis i behøver mere info, kode dele eller noget, så skriv det, jeg har RSS på denne, så svarer så hurtigt jeg kan!

På forhånd tak,
-MThomsen
Gravatar #2 - Cyrack
25. mar. 2008 19:17
Går ud fra at du har en klasse der hedder AboutBox i din solution? Prøv at tjekke i designeren om du har konfigureret den korrekt :-)
Gravatar #3 - MThomsen
25. mar. 2008 19:45
Tak for det meget hurtige respons :)
Ja, jeg har en Form der hedder: AboutBox.cs, EditProducts.cs og ViewProducts.cs..
Og jeg har set på AboutBox.cs [Design] men kan ikke finde nogle fejl :(
Kan du nævne nogle props der skal være derpå eller?
Jeg kan også sende filen til dig, hvis det kan hjælpe? Har nemlig bakset med problemet i et par dage nu, så nu gider jeg næsten ikke mere ;)
Gravatar #4 - Saxov
25. mar. 2008 21:23
[Form].ShowDialog() er et blokerende kald, hvis du vil have at det ikke skal være en blokerende visning af about, skal du bruge [Form].Show() istedet.
Gravatar #5 - klh
25. mar. 2008 21:25
#1+3 MThomsen
Så vidt jeg husker hænger informationerne i om-boksen sammen med de informationer du tildeler dit C# projekt i VS. Jeg kan ikke umiddelbart huske, hvor du skriver detaljerne ind, men en anden løsning er, at overskrive de strings som boksen henter i Main, ved at gå ind og redigere i koden bag design. Det skulle være nogenlunde kommenteret kode :)
Gravatar #6 - Saxov
25. mar. 2008 23:02
#5, de detaljer som about boxen normalt fylder ind er:
[list]AssemblyTitle
AssemblyProduct
AssemblyVersion
AssemblyCopyright
AssemblyCompany
AssemblyDescription[/list]

Disse værdier sættes i det pågældende modul, under modul'ets properties -> Application -> Assembly Information
Gravatar #7 - Cyrack
26. mar. 2008 07:03
Hvis jeg nu havde være online ville jeg have skrevet det som Saxov har skrevet i det ovenstående indlæg :-)
Men ja, den trækker som standard oplysningerne fra AssemblyInfo.cs
Filen kan enten redigeres direkte (se i den specielle mappe Properties) eller via egenskaber på projektet, første fane under Assembly Information.
Gravatar #8 - MThomsen
26. mar. 2008 07:32
Mange tak, for svarende :)
Jeg har fået den til at virker, så takker for jeres hurtige respons :)
Gravatar #9 - MThomsen
26. mar. 2008 17:25
Hej igen.
Håber i læser denne..

About'en ser sådan [url=XXX]her ud[/url] i selve visual studio..
Men når jeg køre den ser den sådan [url=XXX]her ud[/url]
Og sådan her er koden i den assemply fil:

using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("CashRegister")]
[assembly: AssemblyDescription("This is a my CashRegister. On top left you can see the total money you have made. On top right you see the current order money. In the menues you exit in Files -> Exit. You can minimize at Files -> Minimize. You can edit / delete / add new products at Tools -> Edit Products. If you run into trouble please mail to: [email protected] Michael Søborg Thomsen has full copyright on this product!")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Michael Corp.")]
[assembly: AssemblyProduct("Cash Register")]
[assembly: AssemblyCopyright("Copyright © 2008")]
[assembly: AssemblyTrademark("Michael Corp.")]
[assembly: AssemblyCulture("")]

// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]

// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("5e1f28d3-e37f-409e-b84a-2b42bb130089")]

// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0")]
[assembly: AssemblyFileVersion("")]


Håber i kan hjælpe mig med det..
Gravatar #10 - MThomsen
26. mar. 2008 17:46
TAG JER IKKE AF POST #9, DET VAR FEJL!
Glemte lige at skrive noget i url'en til billederne, så tag jer ikke af den øverste post, bare den her, de er ens, bortset fra billederne dur :)
Håber i læser denne også..

About'en ser sådan her ud i selve visual studio..
Men når jeg køre den ser den sådan her ud
Og sådan her er koden i den assemply fil:


using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("CashRegister")]
[assembly: AssemblyDescription("This is a my CashRegister. On top left you can see the total money you have made. On top right you see the current order money. In the menues you exit in Files -> Exit. You can minimize at Files -> Minimize. You can edit / delete / add new products at Tools -> Edit Products. If you run into trouble please mail to: [email protected] Michael Søborg Thomsen has full copyright on this product!")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Michael Corp.")]
[assembly: AssemblyProduct("Cash Register")]
[assembly: AssemblyCopyright("Copyright © 2008")]
[assembly: AssemblyTrademark("Michael Corp.")]
[assembly: AssemblyCulture("")]

// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]

// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("5e1f28d3-e37f-409e-b84a-2b42bb130089")]

// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0")]
[assembly: AssemblyFileVersion("")]


Håber i kan hjælpe mig med det..
Gravatar #11 - klh
26. mar. 2008 17:49
Dit billede 'aboutView' ser nu meget ud til, at være et screenshot fra VS.NET IDE'et.

Men..
Har du ændret noget kode i din .cs fil til aboutboksen? Hvis du har, kan det være, at du har lavet noget finurligt, så den ikke henter assemblyinfo.
Gravatar #12 - MThomsen
26. mar. 2008 18:03
Grunden til den ligner er jo at det er en komponent du bare tilføjer, og jeg mangler stadig at sætte et billede ind :)
Og jeg har ikke leget med koden, som du tænker..
Har kigget, men ikke ændret noget ;)
Gravatar #13 - MThomsen
26. mar. 2008 18:11
Okay, så har jeg fået det til at virke :)
Der manglede et " i koden :S

Men et andet problem er, i texten description, hvordan får jeg tilføjet et linebreak, har texten her:

This is a my CashRegister. On top left you can see the total money you have made. On top right you see the current order money. In the menues you exit in Files -> Exit. You can minimize at Files -> Minimize. You can edit / delete / add new products at Tools -> Edit Products. If you run into trouble please mail to: [email protected] Michael Søborg Thomsen has full copyright on this product!


Vil gerne have linebreaks der hvor der er punktum og start med stort..
det er nok noget med [assembly: AssemblyDescription("linjeskift kommer her" + <br /> + "Lige før det her!?")]
Gravatar #14 - klh
26. mar. 2008 18:21
Du har ret i, at du skal dele koden op (så vidt jeg ved). Men i stedet for at bruge <br /> skal du bruge Environment.NewLine.
Gravatar #15 - MThomsen
26. mar. 2008 18:24
Den dur ikke med Environment.NewLine..
Den responser ikke engang på Environment :)
Gravatar #16 - MThomsen
26. mar. 2008 18:33
Har fundet ud af det selv :)

Det er unicode, så det er bare fx. "hej med dig\r\nhvem er du"
Så står der:
hej med dig
hvem er du

Men mange tak for hjælpen anyways :p
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login