نمایش نتایج 1 تا 5 از 5

نام تاپیک: آیا میتوان برای کد اسکی دو عدد را در یک لحظه تعریف کرد؟؟

  1. #1
    محروم شده
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    جنب حرم امام رضا(ع)
    سن
    23
    پست
    1,514

    آیا میتوان برای کد اسکی دو عدد را در یک لحظه تعریف کرد؟؟

    سلام دوستان.من یه پیکچرباکس دارم ومیخوام بازدن دکمه جلوحرکت کنه و اینکار رو باکد زیر انجام میدم:
    If e.KeyValue = 38 Then
    ( PictureBox2.Location = New Point(PictureBox2.Location.X, PictureBox2.Location.Y - 5
    End If
    وهمینطور دکمه های راست وچپ وعقب روهم تعریف کردم.حالا میخوام وقتی کاربر دو دکمه ی جلو وراست رو نگه میداره پیکچرباکس هم به جلو وهم به راست حرکت کنه .(یعنی همX اون کم شه وهم Y اون)
    لطفا راهنماییم کنین.

  2. #2
    کاربر دائمی آواتار Hossis
    تاریخ عضویت
    آبان 1386
    محل زندگی
    بیرجند
    پست
    1,731

    نقل قول: آیا میتوان برای کد اسکی دو عدد را در یک لحظه تعریف کرد؟؟

    ( PictureBox2.Location = New Point(PictureBox2.Location.X-5, PictureBox2.Location.Y - 5

    این که خیلی ساده بود

  3. #3
    محروم شده
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    جنب حرم امام رضا(ع)
    سن
    23
    پست
    1,514

    نقل قول: آیا میتوان برای کد اسکی دو عدد را در یک لحظه تعریف کرد؟؟

    نقل قول نوشته شده توسط Hossis مشاهده تاپیک
    ( PictureBox2.Location = New Point(PictureBox2.Location.X-5, PictureBox2.Location.Y - 5

    این که خیلی ساده بود
    نه دوست من منظورم این نبود من میخوام اگه هم دکمه جلو و هم چپ گرفته شد اینکار انجام شه.اونقدر هم ساده نیست!!!!!!

  4. #4
    کاربر دائمی آواتار habibb
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    قُلْ هُوَ اللَّهُ أَحَدٌ
    پست
    423

    نقل قول: آیا میتوان برای کد اسکی دو عدد را در یک لحظه تعریف کرد؟؟


    namespace moraba{public partial class Form1 : Form
    {
    enum Direction { Up, Down, Right, Left, UpRight,UpLeft, DownLeft, DownRight};
    Direction Dir;
    Graphics G;
    Point Po;
    Size Si;
    Rectangle Re;
    Pen Pen_Draw;
    Pen Pen_Clear;
    public Form1()
    {InitializeComponent();}
    private void Form1_Load(object sender, EventArgs e)
    {
    Dir = Direction.Right;
    G = CreateGraphics();
    Po = new Point(300, 300);
    Si = new Size(10, 10);
    Re = new Rectangle(Po, Si);
    Pen_Draw = new Pen(Color.Red,10);
    Pen_Clear = new Pen(BackColor,10);
    }
    private void timer1_Tick(object sender, EventArgs e)
    {
    if (Dir == Direction.Right)
    {
    G.DrawRectangle(Pen_Clear, Re);
    Po.X += 2;
    Re.Location = Po;
    G.DrawRectangle(Pen_Draw, Re);
    }
    if (Dir == Direction.Left)
    {
    G.DrawRectangle(Pen_Clear, Re);
    Po.X -= 2;
    Re.Location = Po;
    G.DrawRectangle(Pen_Draw, Re);
    }
    if (Dir == Direction.Up)
    {
    G.DrawRectangle(Pen_Clear, Re);
    Po.Y -= 2;
    Re.Location = Po;
    G.DrawRectangle(Pen_Draw, Re);
    }
    if (Dir == Direction.Down)
    {
    G.DrawRectangle(Pen_Clear, Re);
    Po.Y += 2;
    Re.Location = Po;
    G.DrawRectangle(Pen_Draw, Re);
    }
    if (Dir == Direction.UpRight)
    {
    G.DrawRectangle(Pen_Clear, Re);
    Po.Y -= 2;
    Po.X += 2;
    Re.Location = Po;
    G.DrawRectangle(Pen_Draw, Re);
    }
    if (Dir == Direction.UpLeft)
    {
    G.DrawRectangle(Pen_Clear, Re);
    Po.Y -= 2;
    Po.X -= 2;
    Re.Location = Po;
    G.DrawRectangle(Pen_Draw, Re);
    }
    if (Dir == Direction.DownLeft)
    {
    G.DrawRectangle(Pen_Clear, Re);
    Po.Y += 2;
    Po.X -= 2;
    Re.Location = Po;
    G.DrawRectangle(Pen_Draw, Re);
    }
    if (Dir == Direction.DownRight)
    {
    G.DrawRectangle(Pen_Clear, Re);
    Po.Y += 2;
    Po.X += 2;
    Re.Location = Po;
    G.DrawRectangle(Pen_Draw, Re);}}
    private void Form1_KeyDown(object sender, KeyEventArgs e)
    {
    if (e.KeyCode == Keys.Right)
    {
    if (e.Shift)
    Dir = Direction.UpRight;
    else
    Dir = Direction.Right;
    }
    if (e.KeyCode == Keys.Left)
    {
    if (e.Shift)
    Dir = Direction.DownLeft;
    else
    Dir = Direction.Left;
    }
    if (e.KeyCode == Keys.Up)
    {
    if (e.Shift)
    Dir = Direction.UpLeft;
    else
    Dir = Direction.Up;
    }
    if (e.KeyCode == Keys.Down)
    {
    if (e.Shift)
    Dir = Direction.DownRight;
    else
    Dir = Direction.Down;}}}}



  5. #5

    نقل قول: آیا میتوان برای کد اسکی دو عدد را در یک لحظه تعریف کرد؟؟

    ابتدا به دو اسمبلی یا dll به نام PresetationCore و WindowsBase رفرنس بدهید
    سپس در بالای کد این را بگذارید:

    Imports System.Windows.Input

    بعد یک رویداد KeyDown برای فرم ایجاد کنید به این صورت:

    Sub MainFormKeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs)
    If Keyboard.IsKeyDown(Key.Up) And Keyboard.IsKeyDown(Key.Right) Then
    PictureBox2.Location = New Point(PictureBox2.Location.X+5, PictureBox2.Location.Y - 5 )
    ElseIf Keyboard.IsKeyDown(Key.Down) And Keyboard.IsKeyDown(Key.Right) Then
    PictureBox2.Location = New Point(PictureBox2.Location.X+5, PictureBox2.Location.Y + 5 )
    ElseIf Keyboard.IsKeyDown(Key.Down) And Keyboard.IsKeyDown(Key.Left) Then
    PictureBox2.Location = New Point(PictureBox2.Location.X-5, PictureBox2.Location.Y + 5 )
    ElseIf Keyboard.IsKeyDown(Key.Up) And Keyboard.IsKeyDown(Key.Left) Then
    PictureBox2.Location = New Point(PictureBox2.Location.X-5, PictureBox2.Location.Y - 5 )
    ElseIf Keyboard.IsKeyDown(Key.Up) Then
    PictureBox2.Location = New Point(PictureBox2.Location.X, PictureBox2.Location.Y - 5 )
    ElseIf Keyboard.IsKeyDown(Key.Right) Then
    PictureBox2.Location = New Point(PictureBox2.Location.X+5, PictureBox2.Location.Y )
    ElseIf Keyboard.IsKeyDown(Key.Down) Then
    PictureBox2.Location = New Point(PictureBox2.Location.X, PictureBox2.Location.Y + 5 )
    ElseIf Keyboard.IsKeyDown(Key.Left) Then
    PictureBox2.Location = New Point(PictureBox2.Location.X-5, PictureBox2.Location.Y )
    End If
    End Sub

تاپیک های مشابه

  1. سوال: آیا تابعی برای دستیابی به قسمت اعشاری عدد وجود دارد؟
    نوشته شده توسط x.xoma در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 3
    آخرین پست: دوشنبه 20 اردیبهشت 1389, 14:01 عصر
  2. آیا کامپوننتی برای نمایش pdf از Stream در دلفی می شناسید ؟
    نوشته شده توسط میتی دات نت در بخش برنامه نویسی در Delphi
    پاسخ: 7
    آخرین پست: پنج شنبه 06 بهمن 1384, 14:25 عصر
  3. آیا میشه برای آیتمهای یک Hint Mainmenu گذاشت؟
    نوشته شده توسط mehdi_moosavi در بخش برنامه نویسی در Delphi
    پاسخ: 1
    آخرین پست: یک شنبه 03 خرداد 1383, 08:03 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •