Yön tuşlarına bastıgımda forma eklemiş oldugum 4 butonu aktif etmek istiyorum.Kod aşağıda fakat hata veriyor.
Hata:type or namespace definition,or end-of-file expected ve } expected daha yenıyım ufak bır yerde kutuphane veya algorıtma hatası yapmış olabilirm.Şimdiden teşekkürler.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.IO;
namespace WindowsFormsApplication9
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
{
protected override bool ProcessDialogKey(Keys keyData)
{
if (keyData == Keys.Up)
{
button1_Click(button1, EventArgs.Empty);
return false;
}if (keyData == Keys.Left)
{
button2_Click(button2, EventArgs.Empty);
return false;
}
if (keyData == Keys.Down)
{
button3_Click(button3, EventArgs.Empty);
return true;
}
if (keyData == Keys.Right)
{
button4_Click(button4, EventArgs.Empty);
return false;
}
return base.ProcessDialogKey(keyData);
}
}
}
}
Anladığım kadarıyla forma yerleştirdiğin butonları klavyeden kontrol etmek istiyorsun.Bunun için formun interval'ı true olmalı. Daha sonra
button1_Click(button1, EventArgs.Empty);
kodunu aşağıdaki gibi değiştir
button1.PerformClick();
Alıntı yapılan: semih - 25 Aralık 2012, 11:47:24
Anladığım kadarıyla forma yerleştirdiğin butonları klavyeden kontrol etmek istiyorsun.Bunun için formun interval'ı true olmalı. Daha sonra
button1_Click(button1, EventArgs.Empty);
kodunu aşağıdaki gibi değiştir
button1.PerformClick();
peki intervali nasıl true yapıyoruz? normalde bir değer atamıyomuyuz?
arkadaşlar yeni konu açmama gerek yok buradan yardımcı olurmusunuz?
Hocam, parantezlerde fazlalık var. Şu kısmı
private void Form1_Load(object sender, EventArgs e)
{
{
aşağıdaki gibi düzeltin.
private void Form1_Load(object sender, EventArgs e)
{
}
Koda geri dönersek, if ler ile ortalığı bulandırmaya gerek yok, biliyorsanız swith-case yapısı bu iş için daha uygun.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Media;
using System.IO;
namespace SoundDecoder
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
protected override bool ProcessDialogKey(Keys keyData)
{
switch (keyData)
{
case Keys.Left:
button1.PerformClick();
break;
case Keys.Right:
button2.PerformClick();
break;
case Keys.Up:
button3.PerformClick();
break;
case Keys.Down:
button4.PerformClick();
break;
}
return base.ProcessDialogKey(keyData);
}
}
}
Alıntı yapılan: fatih6761 - 12 Ocak 2013, 15:31:05
Hocam, parantezlerde fazlalık var. Şu kısmı
private void Form1_Load(object sender, EventArgs e)
{
{
aşağıdaki gibi düzeltin.
private void Form1_Load(object sender, EventArgs e)
{
}
Koda geri dönersek, if ler ile ortalığı bulandırmaya gerek yok, biliyorsanız swith-case yapısı bu iş için daha uygun.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Media;
using System.IO;
namespace SoundDecoder
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
protected override bool ProcessDialogKey(Keys keyData)
{
switch (keyData)
{
case Keys.Left:
button1.PerformClick();
break;
case Keys.Right:
button2.PerformClick();
break;
case Keys.Up:
button3.PerformClick();
break;
case Keys.Down:
button4.PerformClick();
break;
}
return base.ProcessDialogKey(keyData);
}
}
}
form dosyasını eklermisiniz rica etsem ?
Form dosyasında birşey yok. Sadece ProcessDialogKey fonksiyonunu projenizde uygun yere yapıştırın. Eğer örnek proje istiyorsanız https://skydrive.live.com/?cid=3770aa04e8007492&id=3770AA04E8007492%216327&authkey=!ACRGMkluvDHKuN4 (https://skydrive.live.com/?cid=3770aa04e8007492&id=3770AA04E8007492%216327&authkey=!ACRGMkluvDHKuN4)
çok teşekkür ederim hocam,seri porta nasıl okutacağız?yani bir aracı kontrol etmek istesem yukarıya bastığımda ileriye gidecek bunu nasıl gerçekleyebilirim?
Bunun için önce aracı tasarlamanız gerekiyor. PIC benzeri bir MCU ile yapacaksanız RS232 seri porttan veri göndermek basit.
Alıntı yapılan: datasheet - 13 Ocak 2013, 02:40:20
çok teşekkür ederim hocam,seri porta nasıl okutacağız?yani bir aracı kontrol etmek istesem yukarıya bastığımda ileriye gidecek bunu nasıl gerçekleyebilirim?
C# kısmında serialport1.writeline(); komutu ile pic kısmında getch(); komutu ile bunları kolaylıkla halledebilirsin.