Új hozzászólás Aktív témák
-
Zalanius
tag
válasz
BTminishop #8017 üzenetére
Ehhez előbb a Click eventet elfogni képes elemre van szükség. Többféleképpen is neki lehet vágni, ha mindenképpen szeretnél egy mátrixot, akkor azt fel lehet építeni pictureBox vagy hasonló elemekből is, és akkor a tömb minden eleméhez hozzárendelhető egy metódus rajzolási célból.
De itt akár mellőzhetők is a tömbök, ha "canvas" céljából egy pictureBoxot vagy hasonlót alkalmazunk, és a kattintás koordinátáiból állapítod meg utána, hogy a sakktábla melyik mezőjére kell rajzolni. Tegyük fel, hogy adott egy 400*400 pixeles pictureBox (pb), meg valahol a fájlrendszerben egy kép tesztelésre (queen_41.png), ekkor vázlatosan:
const int WIDTH = 50;
const int SIZE = 8;
const int IMGSIZE = 41;
const string IMGPATH = @"T:\queen_41.png";
public Form1()
{
InitializeComponent();
pb.MouseClick += Pb_MouseClick;
}
private void button1_Click(object sender, EventArgs e)
{
Graphics g = pb.CreateGraphics();
for (int i = 0; i < SIZE; i++)
{
for (int j = 0; j < SIZE; j++)
{
g.FillRectangle((i + j) % 2 == 0 ? Brushes.White : Brushes.Black, i * WIDTH, j * WIDTH, WIDTH, WIDTH);
}
}
}
private void Pb_MouseClick(object sender, MouseEventArgs e)
{
float x, y;
x = e.X - (e.X % WIDTH) + (WIDTH - IMGSIZE) / 2;
y = e.Y - (e.Y % WIDTH) + (WIDTH - IMGSIZE) / 2;
Graphics g = pb.CreateGraphics();
g.DrawImage(Image.FromFile(IMGPATH), x, y);
}
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Samsung Galaxy S22 és S22+ - a kis vagány meg a bátyja
- Motoros topic
- Kormányok / autós szimulátorok topikja
- Peugeot, Citroën topik
- iPhone topik
- Lexus, Toyota topik
- One otthoni szolgáltatások (TV, internet, telefon)
- Óra topik
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- További aktív témák...
- ROG Zephyrus G14 GA401QM 14" QHD IPS Ryzen 7 5800HS RTX 3060 16GB 1TB NVMe magyar vbill ujjlolv gar
- Eladó - Asus ROG Strix RTX 3080 10GB V2 LHR
- Asztali PC , R7 5700X , RTX 3070 Ti , 32GB RAM , 512GB NVME , 2TB HDD
- Asztali PC , R7 8700F , RTX 3070 Ti , 32GB DDR5 , 512GB NVME , 1TB HDD
- Asztali PC , i7 10700 , RX 5700 XT , 16GB DDR4 , 512GB NVME , 500 GB HDD
- Samsung Galaxy A50 128GB, Kártyafüggetlen, 1 Év Garanciával
- Braun KF 47/1 tea és kávéfőző fehér / 12 hó jótállás
- iPhone 12 mini 64GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3457, 94% Akkumulátor
- HIBÁTLAN iPhone 14 Pro Max 128GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3523
- AKCIÓ! Asus ROG Flow Z13 +ROG XG RTX 3070- i9 12900H 16GB DDR5 1TB SSD RTX 3050Ti 4GB + RTX 3070 W11
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest