lostyazilim
tr.link

Bu Keypress Kodunun Neresinde Hata Yapıyorum ?

3 Mesajlar 828 Okunma
lstbozum
tr.link

PorFavorDama PorFavorDama WM Aracı Kullanıcı
  • Üyelik 20.01.2014
  • Yaş/Cinsiyet 29 / E
  • Meslek -
  • Konum Adana
  • Ad Soyad B** K**
  • Mesajlar 511
  • Beğeniler 152 / 44
  • Ticaret 0, (%0)
Merhaba arkadaşlar Form üzerinde basılan tuş sayısını gösteren bir uygulama yazıyorum fakat sonucu alamıyorum.

Şöyle ki form üzerinde 1 tane buton var ve bu butona basıldığında klavyeden kaç tuşa basıldığını MessageBox üzerinde göstermesini istiyorum .. Kodlar aşağıda :


public partial class Form1 : Form
{
int i;
public Form1()
{
InitializeComponent();
}

private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
i++;

}

private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(i.ToString());
}


}


Global tanımlamayı denedım fakat public olarak tanımladığımda yine bir sonuç alamıyorum .

Ve eğer formun uzerıne buton koyarsam kodlarım çalışmıyor ama koymazsam çalışıyor bu diğer key kodları içinde geçerli şuan onlar ile uğraşıyorum . Bu sorunun çözümünü bilenler yardımcı olursa sevinirim :)
 

 

wmaraci
reklam

kacak41 kacak41 A Little Bit Silence Kullanıcı
  • Üyelik 02.01.2014
  • Yaş/Cinsiyet 32 / E
  • Meslek Öğrenci
  • Konum Kocaeli
  • Ad Soyad M** Ö**
  • Mesajlar 73
  • Beğeniler 10 / 22
  • Ticaret 0, (%0)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication7
{
public partial class Form1 : Form
{
public int i = 0;
public Form1()
{
InitializeComponent();
this.KeyPreview = true;
}

private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(i+" Key'e basılıyor!","Basılan Key sayısı:");
}

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
i++;
}

private void Form1_KeyUp(object sender, KeyEventArgs e)
{
i--;
}

}
}


Key press değilde keydown ve keyup kullanmanız daha mantıklı gibi duruyor.
keypreview i aktif etmeyi unutmayın.
PorFavorDama

kişi bu mesajı beğendi.

Mesajlarımı alıntı yaparak cevaplarsanız daha çabuk cevap verebilirim.
kodplus.com

PorFavorDama PorFavorDama WM Aracı Kullanıcı
  • Üyelik 20.01.2014
  • Yaş/Cinsiyet 29 / E
  • Meslek -
  • Konum Adana
  • Ad Soyad B** K**
  • Mesajlar 511
  • Beğeniler 152 / 44
  • Ticaret 0, (%0)

kacak41 adlı üyeden alıntı

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication7
{
public partial class Form1 : Form
{
public int i = 0;
public Form1()
{
InitializeComponent();
this.KeyPreview = true;
}

private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(i+" Key'e basılıyor!","Basılan Key sayısı:");
}

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
i++;
}

private void Form1_KeyUp(object sender, KeyEventArgs e)
{
i--;
}

}
}


Key press değilde keydown ve keyup kullanmanız daha mantıklı gibi duruyor.
keypreview i aktif etmeyi unutmayın.


Aslında her şey key preview den kaynaklanıyor muş galiba hocam. Çünkü ben sadece deniyorum kitapta anlatılanları , biraz gereksiz gibi durabilir ama kusuruma bakmayın :) Keypreview i true yapınca her şey yerli yerine oturdu çok teşekkür ederim :)
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al