Ú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!
- Robotporszívók
- Picit gazdaságosabb és halkabb lett a PlayStation 5 Pro legfrissebb verziója
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Arc Raiders
- Battlefield 6
- Végre 120 Hz-es lesz az Apple következő monitora
- Fejhallgató erősítő és DAC topik
- Hardcore café
- Napelem
- Shield TV-t csinált a Shieldből az NVIDIA
- További aktív témák...
- Playstation Portal 6 hó garancia, számlával!
- iPhone 16 Pro 128GB gyári független hibátlan 2026.04.07. Apple jótállás
- iPhone 12 64GB gyári független megkímélt kiváló akku!
- Gamer PC - Intel i7-10700K, RTX 3070, 32GB DDR4 RAM
- BONTATLAN! Samsung Q800F 5.1.2 ( HW-Q800F/EN 5.1.2) hangprojektor/soundbar/hangszóró
- Xiaomi Redmi Note 14 Pro+ / 8/256GB / Kártyafüggetlen
- Telefon felvásárlás!! Samsung Galaxy A22/Samsung Galaxy A23/Samsung Galaxy A25/Samsung Galaxy A05s
- Dell Latitude E7470. Olcsó üzleti kategóriás laptop! Új akkumulátor!
- Bomba ár! Lenovo X1 Yoga 3rd - i5-8GEN I 8GB I 256GB SSD I 14" FHD Touch I W11 I CAM I Garancia!
- Dell latitude 5495 - 14" FHD, Ryzen 5 pro 2500U, 8GB RAM, SSD, EU bill., jó akku, számla, garancia
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest

