Hirdetés
- Android alkalmazások - szoftver kibeszélő topik
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Google Pixel topik
- Samsung Galaxy S20 FE - tényleg nem lite
- Milyen okostelefont vegyek?
- Motorola Edge 70 - többért kevesebbet
- Samsung Galaxy A56 - megbízható középszerűség
- Szerkesztett és makrofotók mobillal
- Xiaomi 15T Pro - a téma nincs lezárva
Ú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!
- Nagyrobogósok baráti topikja
- Android alkalmazások - szoftver kibeszélő topik
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- Milyen billentyűzetet vegyek?
- Kuponkunyeráló
- Vírusirtó topic
- Androidos fejegységek
- PlayStation 1 / 2
- Soundbar, soundplate, hangprojektor
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- További aktív témák...
- Komplett PC - GTX 1080 , i7-7700, 32 GB RAM, 750 GB SSD, 1 TB HDD
- Új DLSS4 Gamer PC i5-10400F/16Gb DDR4/RTX 5060 Ti 8Gb/500Gb - 2Tb SSD 2-4Év Gar
- Új DLSS4 Gamer PC i5-10400F/16Gb DDR4/RTX 5060 8Gb OC/500Gb - 2Tb SSD 2-4Év Gar
- Új DLSS4 Gamer PC i5-12400F/RTX 5060 Ti 8Gb/500Gb - 2Tb SSD/16-32Gb Ram 2-4Év Gar
- Új DLSS4 Gamer PC i5-12400F/RTX 5060 8Gb/500Gb - 2Tb SSD/16-32Gb Ram 2-4Év Gar
- BESZÁMÍTÁS! GIGABYTE Z370P PRO i7 9700 16GB DDR4 512GB SSD RTX 2070 SUPER 8GB CM TD500 700W
- GYÖNYÖRŰ iPhone 13 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3580, 100% Akkumulátor
- BESZÁMÍTÁS! ASRock B450 R5 5600X 16GB DDR4 512GB SSD RTX 3060 12GB Zalman Z1 Plus Cooler Master 750W
- 365 NAPRA RÉSZLETRE BANKMNETES KAMATMENTES , GAMER PC ,LAPTOPOK , GAMER SZÉKEK , GAMER MONITOROK
- REFURBISHED - Lenovo ThinkPad 40AC Thunderbolt 3 Dock
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő


