Avatar billede starf Nybegynder
29. marts 2006 - 09:00 Der er 6 kommentarer og
1 løsning

Sæt datepicker til engelsk KUN

Hej

Jeg har forsøgt igennem 3 uger at finde ud af hvordan jeg får min datepicker til kun at vise engelsk, samt det data den sender skal være engelsk også. Problemet er jeg ik kan få det til at virke, jeg har prøvet følgende måde:

using System.Threading;
using System.Globalization;

namespace WindowsApplication1
{

public partial class Form1 : Form
{

public Form1()
{
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
InitializeComponent();


datepickeren er i samme form, men det ændre ikke noget.
Avatar billede sovsekoder Nybegynder
29. marts 2006 - 14:27 #1
det er åbenbart ikke nemt :o - har kigget lidt på nettet... DEt lader til at sproget bliver styret af comctl32.dll som indeholder windows common controls. DateTimePicker er i virkeligheden "bare" en wrapper klasse til denne kontrol. Hvis man skal skifte sproget til engelsk i en common control <<burde>> det kunne lade sig gøre med:

InitMUILanguage(1033); // 1033 = lcid for engelsk

InitMUILanguage ligger også i comctl32.dll'en - har prøvet det men det virkede ikke hos mig :/ - måske kan du finde noget på nettet hvis du kigger efter : InitMUILanguage. Common controls tager deres "sprog" fra regional settings, det er derfor er den kun på engelsk hvis man har engelsk-settings. Det lader til at de ikke er helt nemt at tvinge den til engelsk, hvilket er meget mystisk, alligevel :D
Avatar billede dr_chaos Nybegynder
29. marts 2006 - 19:03 #2
Det kan ikke lade sig gøre. Fandt denne artikel:
http://support.microsoft.com/default.aspx?scid=kb;en-us;889834

Jeg kunne heller ikke forstå hvorfor den ikke gad i det tidligere spørgsmål.
Datetimepicker er en commencontrol og bruger computerens regional settings til at bestemme hvilket et format den skal vise.


Du kan måske benytte paramtre sammen med din sql sætning og på den måde få converteret datoen til det format du vil have.
Avatar billede starf Nybegynder
29. marts 2006 - 19:16 #3
Ok tak for hjælpen så.. skla du ha point?
Avatar billede dr_chaos Nybegynder
29. marts 2006 - 19:24 #4
gerne.
laver lige et eksempel til dig hvordan du kan konvertere datoen.
Avatar billede dr_chaos Nybegynder
29. marts 2006 - 19:31 #5
her er et eksempel:
private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
        {
           
            DateTime dt = new DateTime();
         
         
            dt = DateTime.Parse(dateTimePicker1.Value.ToString());
            System.Diagnostics.Debug.WriteLine(dt.ToString());
            System.Globalization.CultureInfo c = new System.Globalization.CultureInfo("en-US");
            dt = DateTime.Parse(dateTimePicker1.Value.ToString(), c);

            System.Diagnostics.Debug.WriteLine(dt.ToString());
        }

Det konverterer godt nok ikke den viste dato men den værdi som ligger ikke datetimepicker.
Avatar billede starf Nybegynder
29. marts 2006 - 19:44 #6
så kan man vel lave en if sætning der tjekker hva indstillinger der er på compen og hvrodan den skal vendes...

men tak for hjælpen her er point
Avatar billede dr_chaos Nybegynder
29. marts 2006 - 19:46 #7
faktisk behøver du ikke det.
du finder bare det format der skal bruges og s bruger du

DateTime dt = new DateTime();
System.Globalization.CultureInfo c = new System.Globalization.CultureInfo("en-US");
dt = DateTime.Parse(dateTimePicker1.Value.ToString(), c);
Det bør give samme output uanset hvilke regional settings der på computeren.
Du kan evt. prøve at skifte settings på din egen udviklingsmaskine.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester