Buton için Down ve Up kodları varmıdır.
Space ile Buton1 veya Buton2 ye gelip bastığımda yanmıyor.Bunu Nasıl yapabilirim...
Böyle Bir Kod varsa Buton1_Mouse kodlarınıda kaldırma şansın olur.
ve Klaveyedende resim gizlemek yerine butonu tıklattırabilirim.
(http://c1209.hizliresim.com/11/q/d8qr0.jpg)
http://www.mediafire.com/download.php?k6h9b53s99f9za9 (http://www.mediafire.com/download.php?k6h9b53s99f9za9)
butonun keypress özelliğine yazman lazım kodu.yoksa klavyeden girişleri algılayamazsın
keypress denedim kod kabul etmiyor. o farklı yazılıyor olamlı bilmiyorum. keypress yazınca parantez çıkıyor yanında oraya birşeyler yazıcaz sanırım.
tam olarak nasıl yazılacağını yazarmısınız?
veliusta,
botunu çift tıkladığında "click" olayı nın kod blogu gelir.
Kod pencerisinin sol üstünde "Button1" sağ tarafında "Click" yazan kutuucklar olur.
Sağ taraftaki click yazan yere tıkladığımızda butonla alakalı olaylar (events) görüntülenir. sen buradan keypress,keyup, yada key down u seçmelisin.
seçtikten sonra ekrana seçiminle alakalı kod blogu gelir.
o senden istediği basılan tuşu verir.
Öyle olursa sadece butonun üstündeyken kabul ediyor bu yüzden forma yazmışım.kodlara bakarsanız görürsünüz.
mesaj birleştirme:: 22 Eylül 2012, 16:43:02
Private Sub Buton1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image2.Visible = True
Image1.Visible = False
End Sub
Private Sub Buton1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image2.Visible = False
Image1.Visible = True
End Sub
Private Sub Buton2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image4.Visible = True
Image3.Visible = False
End Sub
Private Sub Buton2_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image4.Visible = False
Image3.Visible = True
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKey1 Then Image2.Visible = True
If KeyCode = vbKey1 Then Image1.Visible = False
If KeyCode = vbKey2 Then Image4.Visible = True
If KeyCode = vbKey2 Then Image3.Visible = False
End Sub
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKey1 Then Image2.Visible = False
If KeyCode = vbKey1 Then Image1.Visible = True
If KeyCode = vbKey2 Then Image4.Visible = False
If KeyCode = vbKey2 Then Image3.Visible = True
End Sub
Private Sub Buton1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeySpace Then Image2.Visible = True
If KeyCode = vbKeySpace Then Image1.Visible = False
End Sub
Private Sub Buton1_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeySpace Then Image2.Visible = False
If KeyCode = vbKeySpace Then Image1.Visible = True
End Sub
Private Sub Buton2_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeySpace Then Image4.Visible = True
If KeyCode = vbKeySpace Then Image3.Visible = False
End Sub
Private Sub Buton2_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeySpace Then Image4.Visible = False
If KeyCode = vbKeySpace Then Image3.Visible = True
End Sub
Kodlar böyle olduğunda istediğim gibi oluyor fakat spaceyi basılı tuttup yön tuşları veya tab ile diğer butana geçtiğimde lamba yanık kalıyor.bunu nasıl düzeltebiliriz.
Aslında benim istediğim bu değil. Bu yazılan kodlar saçma geliyor. Belki daha iyi bir mantıkla yapılabilir diye yazdım.
Saçma Olan Şu: mause ile spaceyi yazmamız. Bunun yerine Buton1_ClickUp ClickDown gibi bir komut yapsalarmış iyi olurmuş. biz zaten mouse ile spaceye basağız boşuna uzun yol...
bilen yokmu ? üç gündür arıyorum bulamadım.. :'( yapacağım programda 8 buton var. bu sorunu çözemessem buton yerine resim olarak yapmak zorunda kalacağım. :( 8 Buton için 24 Resim ekleyeceğim :(
Projenin son hali : http://www.mediafire.com/download.php?nhs1c5gn6cil810 (http://www.mediafire.com/download.php?nhs1c5gn6cil810)
veli tam olarak yapmak istediğini yazar mısın ?
hocam yapmak istediğim. usb ile haberleşme devresi için uğraşıyorum.
bu programı onun için hazırlıyorum.
ama programda butona basılı tutup diğer butona geçtiğimizde diğer led yanık kalıyor..
programı açtığımızda butonların köşelerinde çizgiler oluyor. tab a bastığımzda çizgiler diğer butona geçiyor spaceye basıyoruz hani. o çizgileri yok etmek istiyorum.
ya da buton basılı iken diğer lede geçtiğimizde bir önceki led yanık kalıyor. sönsün istiyorum(işte bu programdaki hatayı düzeltmek istiyorum)..
Butonun Seçili Olması dır o Buton etrafındaki çizgi Onu Default özelliğini Düzeltmen için
Command1.Default = True
özelliğini değiştirmen gerekir.
Ayrıca Butona BAsılı Tutuğun Sürece Yansın Çektiğimde Led Sönsün İstiyorsan.
Butonun Altına Bir Bayrak Atarsın
Sözde Kodu
command1_click.......
static Bayrak as Boolean
if bayrak=true then
Led=On
Bayrak=False
Else
Led=Of
Bayrak=True
endif
end command1_click.......
Bu kodla Bastığında yanar tekrar bastığında söner.
Public Class Form1
Dim DegButon1 As Boolean
Dim DegButon2 As Boolean
Private Sub Button1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseDown
Label1.BackColor = Color.Red
DegButon1 = True
End Sub
Private Sub Button1_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseUp
Label1.BackColor = Color.Blue
DegButon1 = False
End Sub
Private Sub Button2_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button2.MouseDown
Label2.BackColor = Color.Red
DegButon2 = True
End Sub
Private Sub Button2_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button2.MouseUp
Label2.BackColor = Color.Blue
DegButon2 = False
End Sub
End Class
Vb.net basit bir buton örneği yazdım vb60 benzer şeyler olması lazım.
MouseUp olayı ve MouseDown olay prosudurleri olması gerekir.
Butonun olaylar segmesinden MouseUP bul Sonra MouseDown
Alıntı yapılan: muhittin_kaplan - 25 Eylül 2012, 11:58:29
Butonun Seçili Olması dır o Buton etrafındaki çizgi Onu Default özelliğini Düzeltmen için
Command1.Default = True
özelliğini değiştirmen gerekir.
Ayrıca Butona BAsılı Tutuğun Sürece Yansın Çektiğimde Led Sönsün İstiyorsan.
Butonun Altına Bir Bayrak Atarsın
Sözde Kodu
command1_click.......
static Bayrak as Boolean
if bayrak=true then
Led=On
Bayrak=False
Else
Led=Of
Bayrak=True
endif
end command1_click.......
Bu kodla Bastığında yanar tekrar bastığında söner.
Buton1.Default = False yazdım olmadı. sadece bir butona yazabiliyoruz...diğerini kabul etmiyor.
Sözde Kodu
command1_click.......
static Bayrak as Boolean
if bayrak=true then
Led=On
Bayrak=False
Else
Led=Of
Bayrak=True
endif
end command1_click.......
Bu kodla Bastığında yanar tekrar bastığında söner.
[/quote]
bu kodu biliyorum ama toggle istemiyorum.
yinede yardımlarınız için teşkkür ederim.
mesaj birleştirme:: 26 Eylül 2012, 01:21:15
Alıntı yapılan: rree - 25 Eylül 2012, 19:29:00
Public Class Form1
Dim DegButon1 As Boolean
Dim DegButon2 As Boolean
Private Sub Button1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseDown
Label1.BackColor = Color.Red
DegButon1 = True
End Sub
Private Sub Button1_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseUp
Label1.BackColor = Color.Blue
DegButon1 = False
End Sub
Private Sub Button2_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button2.MouseDown
Label2.BackColor = Color.Red
DegButon2 = True
End Sub
Private Sub Button2_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button2.MouseUp
Label2.BackColor = Color.Blue
DegButon2 = False
End Sub
End Class
Vb.net basit bir buton örneği yazdım vb60 benzer şeyler olması lazım.
MouseUp olayı ve MouseDown olay prosudurleri olması gerekir.
Butonun olaylar segmesinden MouseUP bul Sonra MouseDown
yapmışım ya bende aynısını. orası sorunsuz çalışıyor hocam.
Programa aç. Spaceye Basılı tut ve taba bas. LED Takılı kalıyor.
istersen mause ile basılı tutup tab a bas. aynı şey.
Programın exe halini indirin; anlarsınız ozaman ; http://s2.dosya.tc/server19/NJPHRm/Project1.exe.html (http://s2.dosya.tc/server19/NJPHRm/Project1.exe.html)
Hatanın özeti;
Programı açın butonun birine mause ile tıklayıp basılı tutun.mause u az aşağı indir basılı halde ve sol tuşa bas. led yanıyor??sonra normal tıklayarak. söndürün.
Spaceyei basılı tutun ye sağ tuşa basın yine led yanık kaldı :S
çözümü yoksa butonlar arası geçişi kitlemek istiyorum.
Evet Bug
Geçici çözüm
Private Sub Form1_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseUp
Button1_MouseUp(AcceptButton, AcceptButton)
End Sub
Yukarıdaki olay ile butonu kapat
hocam sizin verdiğiniz kod sanırım vb.net için vb6 da girilmiyor...
Verdiğim kodlar vb.net için Vb6 "Buton1MouseUp" Sub bir şekilde çağrılma yöntemi olması lazım.Vb.net dedğiniz klitlenme bu kod ile çözümlendi.
Private Sub Buton1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image2.Visible = False
Image1.Visible = True
End Sub
yazmışım ya?
mesaj birleştirme:: 28 Eylül 2012, 11:46:13
Private Sub Buton1_GotFocus()
Image3.Visible = True
Image4.Visible = False
End Sub
Private Sub Buton2_GotFocus()
Image1.Visible = True
Image2.Visible = False
End Sub
Sorunu buldum. Bunları yazınca düzeliyor. nedense çok saçma geliyor. alt tarafı butona basıldığında led yanacak.. bu kadar işlem çok fazla programda 8 led olacak. :S . ClickUp ClikDown komutlar yapsalarmış uğraşmazdım.
Visaul basic 6.0 da böyle form yapabilirmiyim? http://coder000.com/give-any-shape-to-your-form-in-vb-net/ (http://coder000.com/give-any-shape-to-your-form-in-vb-net/)
Eğer Shift+Tab dan sonra Space tuşuna basarsanız çalışıyor.
(Zaten Shift+Tab tuşu cursorun bir sonraki sekmeye gitmesini sağlar)
Umarım işinize yarar.