Hirdetés
- Gigabyte alaplap topik
- Mit tud egy nagy név? Teszten az Acer Predator Orion 5000 PC
- Milyen TV-t vegyek?
- Mesébe illő csodakábelt tervezett a GeForce-ok leégése ellen a Segotep?
- Pánik a memóriapiacon
- Apple asztali gépek
- 5.1, 7.1 és gamer fejhallgatók
- TCL LCD és LED TV-k
- Amlogic S905, S912 processzoros készülékek
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
Ú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!
- Okos Otthon / Smart Home
- Revolut
- Kuponkunyeráló
- Gigabyte alaplap topik
- iPhone topik
- Kamionok, fuvarozás, logisztika topik
- Mit tud egy nagy név? Teszten az Acer Predator Orion 5000 PC
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Milyen TV-t vegyek?
- Mesébe illő csodakábelt tervezett a GeForce-ok leégése ellen a Segotep?
- További aktív témák...
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5060 Ti 16GB GAMER PC termékbeszámítással
- HP EliteOne 800 G6 All-in-One i5-10500 32GB 1000GB 24" Érintőkijelző!! 1 év garancia
- Mini Pc HP ProDesk 600 G2 G3 G4 /// 6-8. gen //// i3 / i5 /// garancia /// Budapest / MPL / Foxpost
- REFURBISHED - Lenovo ThinkPad 40A9 USB-C Dock (ELKELTEK) - CSAK RENDELÉSRE
- 2 X Dell Poweredge T320, 96GB DDR3 ECC RAM, 2.2 GHz CPU, 2 x 495W PSU
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


