• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zadanie dotyczące przemieszczającego się przycisku w C#

Object Storage Arubacloud
0 głosów
728 wizyt
pytanie zadane 8 października 2017 w C# przez rexar123499 Nowicjusz (180 p.)

Witam. Mam do wykonania takie oto zadanie:

"Po uruchomieniu programu użytkownik widzi przycisk, który po wciśnięciu wędruje w inne miejsce i użytkownik może go ponownie kliknąć. Przycisk nie może opuścić okna Form1. Możesz wykorzystać właściwości odnoszące się do położenia komponentów na Form1 (np. Left, Height, Top, Location.X, etc.). Nie korzystaj z instrukcji warunkowej "if" ani pętli. Użyj jednego komponentu Button. Na formularzu możesz umieścić dowolną liczbę innych komponentów. Przycisk powinien wędrować w co najmniej dwa różne miejsca."

 

Program wykonuję w Visual Studio 2017. Sprawiłem, że przycisk przesunął się raz za pomocą tego kodu:

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 WedrujacyButton
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void guzik_Click(object sender, EventArgs e)
        {
            guzik.Location = new Point(15, 28);
            guzik.Location = new Point(33, 58);
        }
    }
}

Gdzie "guzik" jest nazwą kodową mojego guzika. Po jednym kliknięciu zmienia on lokację, jednak po kolejnych nic już się nie dzieje. Co mam robić??
 

1 odpowiedź

+1 głos
odpowiedź 8 października 2017 przez obl Maniak (51,280 p.)

Na sztywno przypisałeś wartości współrzędnych a powinieneś je losować. Zainteresuj się klasą Random i jej metodą Next.

komentarz 8 października 2017 przez rexar123499 Nowicjusz (180 p.)

Z C# mam do czynienia pierwszy raz. Nie wiem jak to powinno wyglądać. Obecnie mam coś takiego i nie wiem o co chodzi :(

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 WedrujacyButton
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void guzik_Click(object sender, EventArgs e)
        {
            int x;
            int y;
            x = new Random();
            y = new Random();
            guzik.Location = new Point(x,y);
        }
    }
}

 

komentarz 8 października 2017 przez obl Maniak (51,280 p.)
        private void guzik_Click(object sender, EventArgs e)
        {
           var rand = new Random();
            guzik.Location = new Point(rand.Next(0,100), rand.Next(0,100));
        }

 

komentarz 8 października 2017 przez rexar123499 Nowicjusz (180 p.)
Mógłbym prosić o wytłumaczenie jak to działa?? Jestem skłonny do chłonięcia wiedzy. Najlepiej słowo po słowie :)

Podobne pytania

0 głosów
1 odpowiedź 465 wizyt
pytanie zadane 15 października 2017 w C# przez rexar123499 Nowicjusz (180 p.)
0 głosów
0 odpowiedzi 131 wizyt
pytanie zadane 7 kwietnia 2019 w C# przez DaroTL Nowicjusz (180 p.)
0 głosów
0 odpowiedzi 520 wizyt
pytanie zadane 18 kwietnia 2020 w C# przez Sic Dyskutant (8,510 p.)

92,576 zapytań

141,425 odpowiedzi

319,650 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...