Výsledky 1 až 12 z 12

Téma: C# tlacenie znaku z klavesnice

  1. #1

    Standardní C# tlacenie znaku z klavesnice

    ahojte ako vzdy mam dalsi problem

    pouzil som na vytlacenie znaku metodu DrawString(..);
    ide o to ze mam napr:
    private void KeyDown(object sender, ...KeyEventArgs e)
    {

    string f = Convert.ToString(e.KeyCode);
    DrawString(f,.....);
    }

    .. ale ked napr zadam naklavesnici dvojbodku tak mi to miesto dvojbodky vyhodi samozrejme string OemSemicolon (co je vlastne hodnota dvojbodky prevedena na string) ...
    Da sa tento problem riesit aj nejak sikovnejsie kde mi pri zadani dvojbodky napise dvojbodku a nie taku prkotinu?

    DIK MOC

  2. #2

    Standardní Re: C# tlacenie znaku z klavesnice

    Mno, nemám nainstalované Visual Studio, takže nemůžu vyzkoušet a můžu být úplně mimo , ale nepomohlo by:

    http://msdn2.microsoft.com/en-us/lib...r_members.aspx
    -- under construction --

  3. #3

    Standardní Re: C# tlacenie znaku z klavesnice

    alebo takto .. lepsia otazka ... mam trebars nejaky int .. napr 32 ... a ja chcem tento int prekonvertovat na znak ktory prave cislo 32 charakterizuje ... da sa nieco take?

  4. #4
    Senior Member Avatar uživatele Anduril
    Založen
    12.10.2002
    Bydliště
    OVA, OL
    Věk
    41
    Příspěvky
    3 474
    Vliv
    310

    Standardní Re: C# tlacenie znaku z klavesnice

    char znak = Convert.ToChar(cislo);
    ..jsi zkousel?
    ntb: HP EliteBook 8460p i7-2640M | 8GB RAM | 120GB SSD + 500GB HDD | ATi HD6470 | 14" HD+ | W7 PRO
    home: HP Docking Station | HP L2045W | WD 500GB Scorpio Blue USB box
    work: HP Docking Station | HP L2445W
    audio: Epiphone G-400 SG + Sounder Telecaster | E-MU 0202 | Cambridge Audio Azur 340R | Wharfedale Diamond 9.2 | Magnat Betasub 20A | Sennheiser HD555

  5. #5

    Standardní Re: C# tlacenie znaku z klavesnice

    jj ... to som skusal to bolo ako prve co ma napadlo ... teraz som vlastne v tej najlepsej forme .. ked stlacim danu klavesu tak mi vypise jeho ciselnu hodnotu .. napr A ma tusim 65 ... B 66 .. atd ... uz potrebujem len to cislo zase prehodit na znak ale tentokrat na ten realny ktory sa pod tym cislom ukryva ...

  6. #6
    Member Avatar uživatele ..::Ozzy::..
    Založen
    27.05.2004
    Bydliště
    Vlašim@Benešov
    Věk
    42
    Příspěvky
    176
    Vliv
    246

    Standardní Re: C# tlacenie znaku z klavesnice

    KeyBoard.cs
    Kód:
    using System;
    using System.Text;
    
    namespace KeyPresDownApp
    {
        class KeyBoard
        {
            public KeyBoard ()
            {
            }
    
            public static void Doubles ()
            {
                ConsoleKeyInfo cki;
    
                String msg1 = "Bylo stisknuto ";
                String msg2 = " (znak '{0}').";
    
                StringBuilder sb = new StringBuilder ();
                Boolean suppress = false;
    
                Console.TreatControlCAsInput = true;
    
                Console.WriteLine ("Stiskni CTRL, ALT, SHIFT + Znak");
                Console.WriteLine ("Konec ESC");
    
                do
                {
                    sb.Length = 0;
                    cki = Console.ReadKey (suppress);
    
                    sb.Append (msg1);
                    if(cki.Modifiers != 0)
                    {
                        if((cki.Modifiers & ConsoleModifiers.Alt) != 0)
                            sb.Append ("ALT+");
                        if((cki.Modifiers & ConsoleModifiers.Shift) != 0)
                            sb.Append ("SHIFT+");
                        if((cki.Modifiers & ConsoleModifiers.Control) != 0)
                            sb.Append ("CTL+");
                    }
                    sb.Append (cki.Key.ToString ());
                    sb.AppendFormat (msg2, cki.KeyChar);
                    sb.AppendLine ().AppendLine ();
    
                    Console.WriteLine ("");
    
                    Console.WriteLine (sb.ToString ());
    
                    if(cki.KeyChar == '+')
                    {
                        if(suppress) suppress = false;
                        else suppress = true;
                    }
                } while(cki.Key != ConsoleKey.Escape);
            }
        }
    }
    KeyBoardTest.cs
    Kód:
    namespace KeyPresDownApp
    {
        class KeyBoardTest
        {
            static void Main (string[] args)
            {
                KeyBoard.Doubles ();
            }
        }
    
    }
    Software is like SEX,
    it's better, when it's FREE!

    by Linus Torvalds
    PC:AMD Barton 2500+@3200+ 1,75V locked|ACC rev2|Soltek SL-K600-C|2x512MB DDR433 CL2.5|Saegate80GB 2MB cache ATA/133 + Samsung250GB 8MB cache ATA/133|ATi Saphire R9600XT 537/640|Acer LCD 20" AL2016W 16:10|DVD LG4120|Genius Home Theatre 5.1|Logitech Click@Mouse|dolby keyboard|3R-System case soft moded|TV Tuner Leadtek Winfast DTV1000T|Gentoo 2005.1|KDE 3.5 sometimes switch to WinXP
    Work NB: HP nw8000 + Qtek8310

  7. #7

    Post Re: C# tlacenie znaku z klavesnice

    asi sme sa nepochopili co potrebujem ...

    ide o to ze vlastne potrebujem vytlacit ("nakreslit") stlaceny znak na bitmapu cez metodu DrawString(..). lenze tato metoda pracuje s argumentom typu string a ako nahle pouzijem nieco take ako:
    (v udalosti stlacenia klavesy)

    string i = Convert.ToString(e.KeyCode);

    tak nasledovne ked vytlacim hodnotu i na btmapu tak miesto ; my vytlaci nieco ako OemSemiColon.
    vlastne potrebujem do tej hodnoty string i ulozit nie nazov ktory popisuje danu klavesu .. ale .. skutocny stlaceny znak na klavesnici ...

    (asi z toho editoru vyhodim font )

  8. #8
    Senior Member Avatar uživatele Anduril
    Založen
    12.10.2002
    Bydliště
    OVA, OL
    Věk
    41
    Příspěvky
    3 474
    Vliv
    310

    Standardní Re: C# tlacenie znaku z klavesnice

    A zkousel jsi vubec, co jsem ti psal?? Naschval jsem to ted zkousel a funguje to imho uple presne tak, jak chces...

    char znak = Convert.ToChar(cislo); // z ciselneho kodu dostanes ten spravny tisknutelny ZNAK

    pripadne si ho muzes zkonvertovat na string pomoc znak.ToString();
    nebo jsme te jeste spatne pochopili?
    ntb: HP EliteBook 8460p i7-2640M | 8GB RAM | 120GB SSD + 500GB HDD | ATi HD6470 | 14" HD+ | W7 PRO
    home: HP Docking Station | HP L2045W | WD 500GB Scorpio Blue USB box
    work: HP Docking Station | HP L2445W
    audio: Epiphone G-400 SG + Sounder Telecaster | E-MU 0202 | Cambridge Audio Azur 340R | Wharfedale Diamond 9.2 | Magnat Betasub 20A | Sennheiser HD555

  9. #9
    Member Avatar uživatele ..::Ozzy::..
    Založen
    27.05.2004
    Bydliště
    Vlašim@Benešov
    Věk
    42
    Příspěvky
    176
    Vliv
    246

    Wink Re: C# tlacenie znaku z klavesnice

    tak si udelejej handler na KeyDown

    Kód:
    textBox.KeyDown += new KeyDownHandler (textBox_KeyDown);
    a v tom eventu

    Kód:
    private void textBox_KeyDown (object sender, KeyEventArgs arg)
    {
      arg.KeyCode.ToString ();
    
      //....... dalsi zpracovani (udelat System.Drawing.Graphics)
    }
    a na 100% ti to vyplivne ten znak ne v ciselnem kodu ale ciste ve stringu
    takze ne A = 65, ale A = A
    Zkousel jsem to.
    Dalsi zpracovani pro graphics trebas tady
    Na ty dvojtlacitka bych pouzil ten StringBuilder

    V helpu Visual Studia dej serach
    Kód:
    // Grafika
    s-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_fxmclignrl/html/5d2447a9-21a1-4adc-b954-5516f2bb9b2c.htm
    
    //StringBuilder
    ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.en/cpref12/html/T_System_Text_StringBuilder.htm
    Software is like SEX,
    it's better, when it's FREE!

    by Linus Torvalds
    PC:AMD Barton 2500+@3200+ 1,75V locked|ACC rev2|Soltek SL-K600-C|2x512MB DDR433 CL2.5|Saegate80GB 2MB cache ATA/133 + Samsung250GB 8MB cache ATA/133|ATi Saphire R9600XT 537/640|Acer LCD 20" AL2016W 16:10|DVD LG4120|Genius Home Theatre 5.1|Logitech Click@Mouse|dolby keyboard|3R-System case soft moded|TV Tuner Leadtek Winfast DTV1000T|Gentoo 2005.1|KDE 3.5 sometimes switch to WinXP
    Work NB: HP nw8000 + Qtek8310

  10. #10

    Standardní Re: C# tlacenie znaku z klavesnice

    Anduril to je na tom najvacsia sranda ze som to tiez skusal cez ten convert na char ale pri dvojboke mi to vyhadzovalo taku smiesnu znacku ani neviem co to je .. tak preto som hladal ine riesenie
    asi bude chyba niekde inde ked ti to ide a mne to takto hapruje ... no nic koniec koncom sranda musi byt este by som sa nahodou nudil

    Ozzy juuj mockrat dik

  11. #11
    Member Avatar uživatele ..::Ozzy::..
    Založen
    27.05.2004
    Bydliště
    Vlašim@Benešov
    Věk
    42
    Příspěvky
    176
    Vliv
    246

    Standardní Re: C# tlacenie znaku z klavesnice

    neni zač
    Software is like SEX,
    it's better, when it's FREE!

    by Linus Torvalds
    PC:AMD Barton 2500+@3200+ 1,75V locked|ACC rev2|Soltek SL-K600-C|2x512MB DDR433 CL2.5|Saegate80GB 2MB cache ATA/133 + Samsung250GB 8MB cache ATA/133|ATi Saphire R9600XT 537/640|Acer LCD 20" AL2016W 16:10|DVD LG4120|Genius Home Theatre 5.1|Logitech Click@Mouse|dolby keyboard|3R-System case soft moded|TV Tuner Leadtek Winfast DTV1000T|Gentoo 2005.1|KDE 3.5 sometimes switch to WinXP
    Work NB: HP nw8000 + Qtek8310

  12. #12

    Standardní Re: C# tlacenie znaku z klavesnice

    Problem definitivne vyrieseny (konecne )

    Anduril nedalo mi preco to tebe slo a mne nie cez ten char. Tak ak by mal niekto rovnaky problem u mna bola chyba v udalosti. Pouzil som totiz udalos KeyDown no a v tomto pripade to fungovalo prave takym nespravnym sposobom. Co sa tyka riesenia spociva prave v udalosti KeyPress a nie KeyDown. KeyPress obsahuje priamo vlastnost ToChar ktora to convertuje priamo na skutocny stlaceny znak (medzernik ako medzeru a nie ako string "space", ; nie ako OsmSemiColon ale priamo ako ; atd)

    Dakujem velmi vsetkym ktori sa zapojili do tohto problemu.

Informace o tématu

Users Browsing this Thread

Toto téma si právě prohlíží 1 uživatelů. (0 registrovaných a 1 anonymních)

Podobná témata

  1. Driver od klavesnice notebooku brzdi sleep rezim
    Založil tiktak v sekci fóra Ostatní hardware
    Odpovědí: 0
    Poslední příspěvek: 30.10.2005, 19:04
  2. Zahada - od vypinani PS/2 po modding klavesnice...
    Založil RayeR v sekci fóra Elektronika a bastlení
    Odpovědí: 8
    Poslední příspěvek: 10.02.2005, 21:56
  3. Rozdvojka na klávesnice
    Založil Bill4 v sekci fóra Ostatní hardware
    Odpovědí: 21
    Poslední příspěvek: 20.01.2005, 21:17
  4. nefunkcni mys a klavesnice na Abitu NF7-S
    Založil alex.k v sekci fóra NVIDIA čipové sady
    Odpovědí: 20
    Poslední příspěvek: 13.08.2004, 10:31
  5. Anglická klávesnice v příkazovém řádku Win XP cz
    Založil Slayer v sekci fóra Ostatní operační systémy
    Odpovědí: 4
    Poslední příspěvek: 04.03.2004, 11:28

Pravidla přispívání

  • Nemůžete zakládat nová témata
  • Nemůžete zasílat odpovědi
  • Nemůžete přikládat přílohy
  • Nemůžete upravovat své příspěvky
  •