• 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#

VPS Starter Arubacloud
0 głosów
724 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ź 456 wizyt
pytanie zadane 15 października 2017 w C# przez rexar123499 Nowicjusz (180 p.)
0 głosów
0 odpowiedzi 130 wizyt
pytanie zadane 7 kwietnia 2019 w C# przez DaroTL Nowicjusz (180 p.)
0 głosów
0 odpowiedzi 468 wizyt
pytanie zadane 18 kwietnia 2020 w C# przez Sic Dyskutant (8,510 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...