Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
seesharp Administrator foruma
Pridružen/-a: 27.06. 2017, 18:40 Prispevkov: 43
|
Objavljeno: 28 Jun 2017 12:24 Naslov sporočila: Vaja 9 – Dinamične kontrole |
|
|
Izvedite okensko aplikacijo, ki bo ob kliku na gumb “Vnos” dinamično generirala še 15
gumbov. Napravite tudi novi razred kocka z ustreznim konstruktorjem (vhodni parameter -
stranica kocke) in metodama za izračun prostornine ter telesne diagonale. Ob kliku na gumb
“Vnos” naj se prav tako naključno generira 15 objektov izpeljanih iz razreda kocka. Ob kliku
na posamezni gumb se v tekstovnem oknu (multiline=true) izpiše podatek kateri gumb je bil
izbran. Hkrati pa se izpišejo tudi informacije o objektu kocka (stranica, prostornina,
diagonala), ki je ustrezno povezan s posameznim gumbom (15 gumbov – 15 objektov
kocka). |
|
Nazaj na vrh |
|
![](templates/subSilver/images/spacer.gif) |
seesharp Administrator foruma
Pridružen/-a: 27.06. 2017, 18:40 Prispevkov: 43
|
Objavljeno: 28 Jun 2017 12:25 Naslov sporočila: |
|
|
Kocka.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace dinamicneKontrole
{
class Kocka
{
public int a;
public Kocka(int a)
{
this.a = a;
}
public int Prostornina()
{
return a * a * a;
}
public double Diagonala()
{
return Math.Sqrt(3) * a;
}
}
} |
|
Nazaj na vrh |
|
![](templates/subSilver/images/spacer.gif) |
seesharp Administrator foruma
Pridružen/-a: 27.06. 2017, 18:40 Prispevkov: 43
|
Objavljeno: 28 Jun 2017 12:26 Naslov sporočila: |
|
|
Form1.cs
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 dinamicneKontrole
{
public partial class Form1 : Form
{
Random randgen;
Button[] gumbi = new Button[15];
Kocka[] kocke = new Kocka[15];
public Form1()
{
InitializeComponent();
randgen = new Random();
}
private void btVnos_Click(object sender, EventArgs e)
{
tableLayoutPanel1.Controls.Clear();
for (int i = 0; i<3; i++)
{
for (int j = 0; j < 5; j++)
{
int coun = (i * 5 + j); //sigurno prav? preveri!
kocke[coun] = new Kocka(randgen.Next(1, 10));
gumbi[coun] = new Button();
gumbi[coun].Text = "Gumb" + coun;
gumbi[coun].Name = coun.ToString();
gumbi[coun].Click += new System.EventHandler(this.buttonpanel_Click); //kaj je tu narobe? - ok - manjakla metoda "Click"
tableLayoutPanel1.Controls.Add(gumbi[coun], i, j);
}
}
}
private void buttonpanel_Click(object sender, EventArgs e)
{
Button gumbek = sender as Button;
if (gumbek!=null)
{
textBox1.Text = "Gumb: " + gumbek.Name + " " + "\r\n" +x
"Stranica a: " + kocke[Convert.ToInt32(gumbek.Name)].a + "\r\n" +
"Prostornina: " + kocke[Convert.ToInt32(gumbek.Name)].Prostornina() + "\r\n" +
"Diagonala: " + Math.Round(kocke[Convert.ToInt32(gumbek.Name)].Diagonala(), 2);
}
}
}
} |
|
Nazaj na vrh |
|
![](templates/subSilver/images/spacer.gif) |
|