Kezdőoldal » Számítástechnika » Programozás » C# windows form-ban kellene...

C# windows form-ban kellene egy aprócska segítség. Valaki?

Figyelt kérdés

Visual studioval készítettem egy jegyzettömböt. A háttér egy írógép és a textbok úgy van beszúrva mintha a papír jönne ki az írógépből.

Kérdésem az lenne, hogy hogyan lehet azt elérni, hogy ha írok egy sort akkor az a lap alján jelenjen meg és ah ütök egy entert akkor az adott sor egyel fentebb kerüljön, mintha a lap jött volna kintebb?


2015. jan. 11. 19:27
 1/4 anonim ***** válasza:
A formnak van egy keydown eventje (amikor leüti az entert, akkor lefut, de ha nyomva tartja nem fut le többször). Arra ráírod, h if(e.KeyCode == Keys.Enter). Itt az "e" az az eventhez hozzárendelt függvény egyik paramétere, jelen esetben ez adja meg, h melyik gombot nyomta le a user. Ezután pedig egy jól elhelyezett labelre kiírod ami a textbox-ban (aminél erősen ajánlom, h maximalizáld a beírható karakterek számát, mert elég érdekes eredmények tudnak anélkül születni) volt, a textboxot pedig üríted. Ha pedig több elemet akarsz hozzáadni, akkor egy listába berakod a begépelt sorokat, és kiírod mindig a legutolsó X darabot. Remélem tudtam segíteni. Ha ezek után esetleg további kérdések merülnének fel benned, nyugodtan írj privit.
2015. jan. 11. 23:25
Hasznos számodra ez a válasz?
 2/4 SimkoL ***** válasza:
Ilyesmire gondolsz:? [link]
2015. jan. 12. 17:52
Hasznos számodra ez a válasz?
 3/4 A kérdező kommentje:

Elsőnek köszönöm, a héten valamelyik nap megpróbálkozok vele, ha nem menne írok :)

Második: Lehet hogy ilyesmi, csak az a gond, hogy a gépem nem nyitja meg, mivel semmi aláírás nincs, hogy milyen forrásból származik.

2015. jan. 13. 18:35
 4/4 SimkoL ***** válasza:

Bíráld felül. Én írtam pár sor, igaz Delphi de nagyon érthető:


function TForm1.AutoSizeMemoY(Memo: TMemo): word;

begin

Canvas.Font := Memo.Font;

Result := Canvas.TextExtent(Memo.Lines.Strings[0]).cy * Memo.Lines.Count

+ Canvas.TextExtent(Memo.Lines.Strings[0]).cy;

end;


procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);

begin

if key = 13 then

begin

Memo1.Lines.Append(Edit1.Text);

Edit1.Text:='';

if Memo1.Top > 40 then

begin

Memo1.Top := Edit1.Top - AutoSizeMemoY(Memo1);

Memo1.Height := AutoSizeMemoY(Memo1);

end;

end;

Form1.Caption := 'Sorok száma: ' + Inttostr(Memo1.Lines.Count);

end;


procedure TForm1.FormCreate(Sender: TObject);

begin

Memo1.Top := Edit1.Top - AutoSizeMemoY(Memo1);

Memo1.Height := 0;

end;


procedure TForm1.FormActivate(Sender: TObject);

begin

Edit1.SetFocus;

end;

2015. jan. 13. 19:03
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!