עבור לתוכן
View in the app

A better way to browse. Learn more.

HWzone

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

עזרה בC#

Featured Replies

פורסם

שלום אני רוצה שעת קליטת מקש מסוים לדוגמא התו W

lable1 לדוגמא יזוז פיקסל אחד למעלה כלומר Y-1

ניסיתי בתוכנה lable1.location.Y--;

ולא עבד הוא רושם שאי אפשר לשנות את זה כי זה לא משתנה

להלן הקוד אם אתם רוצים לראות בבקשה תעזרו לי

      string key;
key = e.KeyChar.ToString();
label1.Text = key.ToString();
if (key.IndexOf("w") != -1)
{
label1.Location.y--;
}

פורסם

לא מכיר C#, אבל זה נשמע כאילו .Location.y הוא read only. הייתי מחפש מתודה של setLocation, setY או משהו כזה.

ד"א, זה נראה כאילו אתה מנסה להזיז X בעזרת המקשים.

אני הייתי עושה משהו קצת שונה- מגדיר מערך של מקשים והכיוון שלהם, משהו כזה


var aMovementKeys = new Array();
aMovementKeys["w"] = new Array(0,1);
aMovementKeys["d"] = new Array(1,0);
aMovementKeys["s"] = new Array(0,-1);
aMovementKeys["a"] = new Array(-1,0);
];

הסינטקס אומנם של JS, אבל מקווה שהרעיון ברור.

פורסם

היי black-hawk. ב C# באמת אי אפשר לעשות את זה כי המשתנה הוא לא הערך של ה-X או Y באמת אלא כל הנקודה (לפי דעתי ממש מטומטם) לכן הקוד אמור להיות כך (ניסיתי ועובד)



private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
switch (e.KeyChar)
{
case 'w':
label1.Location = new Point(label1.Location.X, label1.Location.Y - 1);
break;
case 'a':
label1.Location = new Point(label1.Location.X-1, label1.Location.Y);
break;
case 's':
label1.Location = new Point(label1.Location.X, label1.Location.Y + 1);
break;
case 'd':
label1.Location = new Point(label1.Location.X+1, label1.Location.Y);
break;
default:
break;
}
}

פורסם

זה בגלל כל העניין של הפרופרטיז. במקום להשתמש בLOCATION, אתה יכול להשתמש בTOP(ולזה לעשות --).

פורסם
  • מחבר

היי black-hawk. ב C# באמת אי אפשר לעשות את זה כי המשתנה הוא לא הערך של ה-X או Y באמת אלא כל הנקודה (לפי דעתי ממש מטומטם) לכן הקוד אמור להיות כך (ניסיתי ועובד)



private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
switch (e.KeyChar)
{
case 'w':
label1.Location = new Point(label1.Location.X, label1.Location.Y - 1);
break;
case 'a':
label1.Location = new Point(label1.Location.X-1, label1.Location.Y);
break;
case 's':
label1.Location = new Point(label1.Location.X, label1.Location.Y + 1);
break;
case 'd':
label1.Location = new Point(label1.Location.X+1, label1.Location.Y);
break;
default:
break;
}
}

תודה רבה!! עזרת לי מאוד

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.