Bagaimana sih cara membuat aplikasi
paint sederhana.
dibawah ini akan di jelaskan bagaimana cara membuat aplikasi sederhana
menggunakan bahasa pemograman c# dengan Windows Form Application di visual
studio 2012
ini cara nya, selahkan diikuti dan di kembangkan lagi
1. buka Visual studio 2012
2. pilih new project lalu Windows Forms Application, kasih judul dan oke
3. ambil tools apa saja yang akan
kita gunakan di toolbox lalu tarik ke form1 anda
4. desain form1 seperti ini
“Sumbu x” adalah garis horizontal
dan “sumbu y” adalah garis vertikal,
“panjang” adalah panjang garis yang
telah kita buat.
untuk warna kita memakai button dan
di beri warna sesuai nama dengan mengubah properties backimage.
sedangkan line, elips, rectangle,triangle
dan clear, kita beri gambar yang dimasukkan dari background image.
5. jika sudah masukkan program ini
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 WindowsFormsApplication4
{
public partial
class Form1 : Form
{
public
Form1()
{
InitializeComponent();
}
//vARIABEL
GLOBAL
int tebal =
1, initialX, initialY;
Pen p;
Color wrn,
wrn1;
private
Graphics objGraphic;
private bool
shouldPaint = false, warna = false;
Boolean
line, rectang, circle, triangle;
double px,
py, vector, angle;
//VARIABEL
LINE
private
Point preCoor, newCoor;
//VARIABEL
RECTANG
int width,
height;
//VARIABEL
CIRCLE
int cirW,
cirL;
//VARIABEL
TRIANGLE
private
List<Point> points = new List<Point>();
Point a, b,
c;
Point[] list
= new Point[3];
private void
panel1_Paint(object sender, PaintEventArgs e)
{
objGraphic = panel1.CreateGraphics();
}
private void
numericUpDown1_ValueChanged(object sender, EventArgs e)
{
tebal =
(int)numericUpDown1.Value;
}
private void
clear_Click(object sender, EventArgs e)
{
cleartext(); buttoncolor(); numericUpDown1.Value = 1;
}
//RESET
BOlEAN OF BUTTON
void reset()
{
line =
false;
rectang
= false;
circle =
false;
triangle
= false;
}
//FUNGSI
void color()
{
warna =
true;
p = new
Pen(wrn);
if
(tebal == 0)
{
DialogResult box;
box = MessageBox.Show("Masukkan
nilai Width", "Error",
MessageBoxButtons.RetryCancel);
if
(box == DialogResult.Cancel)
{
this.Dispose();
}
}
}
//FUNGSI
RUMUS-RUMUS
void
rumusline()
{
px =
newCoor.X;
py =
newCoor.Y;
vector =
Math.Sqrt((Math.Pow(px, 2)) + (Math.Pow(py, 2)));
angle =
Math.Atan(py / px) * 180 / Math.PI;
display();
}
void
rumusrectang()
{
px =
width;
py =
height;
vector =
px * py;
if(rectang == true)
{
angle = 0;
}
display();
}
void
rumuscircle()
{
px =
cirW;
py =
cirL;
vector =
Math.PI * 0.5 * (cirW + cirL);
if(circle == true)
{
angle = 360;
}
display();
}
void
rumustriangle()
{
px = b.X
- a.X;
py =
c.Y;
vector =
0.5 * px * py;
if(triangle == true)
{
angle = 180;
}
display();
}
//TAMPILKAN
INFORMATION
void
display()
{
textBoxX.Text = Convert.ToString(px);
textBoxY.Text = Convert.ToString(py);
textBoxL.Text = vector.ToString("#.##");
textBoxAng.Text = angle.ToString("#,0.00");
}
//CLEAR TEXT
void
cleartext()
{
panel1.Invalidate();
this.textBoxX.Clear();
this.textBoxY.Clear();
this.textBoxL.Clear();
this.textBoxAng.Clear();
}
//BUTTON
COLOR
void
buttoncolor()
{
Line.BackColor = Color.Snow;
Rectang.BackColor = Color.Snow;
Circle.BackColor = Color.Snow;
Triangle.BackColor = Color.Snow;
}
//EVENT
MOUSE
private void
panel1_MouseDown(object sender, MouseEventArgs e)
{
if
(e.Button == MouseButtons.Left && warna == true)
{
if
(line == true)
{
shouldPaint = true;
preCoor = e.Location;
newCoor = preCoor;
panel1.Invalidate();
}
else
if (rectang == true)
{
shouldPaint = true;
initialX = e.X;
initialY = e.Y;
panel1.Invalidate();
}
else
if (circle == true)
{
shouldPaint = true;
initialX = e.X;
initialY = e.Y;
panel1.Invalidate();
}
else
if (triangle == true)
{
shouldPaint = true;
Point a = e.Location;
points.Add(a);
panel1.Invalidate();
}
}
}
private void
panel1_MouseMove(object sender, MouseEventArgs e)
{
if
(shouldPaint == true && warna == true)
{
if
(line == true)
{
ControlPaint.DrawReversibleLine(panel1.PointToScreen(preCoor),
panel1.PointToScreen(newCoor), wrn1);
newCoor = new Point(e.X, e.Y);
ControlPaint.DrawReversibleLine(panel1.PointToScreen(preCoor),
panel1.PointToScreen(newCoor), wrn1);
}
else
if (rectang == true)
{
this.Refresh();
p.Width = tebal;
width = e.X - initialX;
height = e.Y - initialY;
Rectangle rect = new Rectangle(Math.Min(e.X, initialX), Math.Min(e.Y,
initialY), Math.Abs(e.X - initialX), Math.Abs(e.Y - initialY));
objGraphic.DrawRectangle(p,rect);
}
else
if (circle == true)
{
this.Refresh();
p.Width = tebal;
cirW = Math.Abs(e.X - initialX);
cirL = Math.Abs(e.Y - initialY);
Rectangle rec = new Rectangle(Math.Min(e.X, initialX), Math.Min(e.Y,
initialY), Math.Abs(e.X - initialX), Math.Abs(e.Y - initialY));
objGraphic.DrawEllipse(p,rec);
}
else
if (triangle == true)
{
Point a = e.Location;
points.Add(a);
p.Width = tebal;
System.Diagnostics.Debug.WriteLine(e.Y);
a = points[0];
a.X = (points[0].X + points[points.Count - 1].X) / 2;
b = points[points.Count - 1];
b.X = points[0].X;
c = points[points.Count - 1];
list[0] = a;
list[1] = b;
list[2] = c;
}
}
}
private void
panel1_MouseUp(object sender, MouseEventArgs e)
{
if
(shouldPaint == true && warna == true)
{
if
(line == true)
{
p.Width = tebal;
ControlPaint.DrawReversibleLine(panel1.PointToScreen(preCoor),
panel1.PointToScreen(newCoor), wrn1);
objGraphic.DrawLine(p, preCoor, newCoor);
rumusline();
shouldPaint = false;
}
else
if (rectang == true)
{
rumusrectang();
shouldPaint = false;
}
else
if (circle == true)
{
rumuscircle();
shouldPaint = false;
}
else
if (triangle == true)
{
this.Refresh();
objGraphic.DrawPolygon(p, list);
foreach (Point el in points)
System.Diagnostics.Debug.WriteLine(el);
rumustriangle();
shouldPaint = false;
}
}
}
private void
panel1_MouseClick(object sender, MouseEventArgs e)
{
if (line
== false &&rectang == false && circle == false &&
triangle == false)
{
DialogResult box2;
box2
= MessageBox.Show("Pilih Bentuk", "Error",
MessageBoxButtons.RetryCancel);
if
(box2 == DialogResult.Cancel)
{
this.Dispose();
}
}
if
(warna == false)
{
DialogResult box1;
box1
= MessageBox.Show("Pilih Warna", "Error",
MessageBoxButtons.RetryCancel);
if
(box1 == DialogResult.Cancel)
{
this.Dispose();
}
}
if
(tebal == 0)
{
DialogResult box;
box
= MessageBox.Show("Tentukan Ketebalan", "Error",
MessageBoxButtons.RetryCancel);
if
(box == DialogResult.Cancel)
{
this.Dispose();
}
}
}
//WARNA
private void
buttonBlack_Click(object sender, EventArgs e)
{
buttonBlack.FlatAppearance.BorderColor
= System.Drawing.Color.White;
wrn =
Color.Black;
wrn1 =
Color.Black;
color();
}
private void
buttonRed_Click(object sender, EventArgs e)
{
buttonRed.FlatAppearance.BorderColor = System.Drawing.Color.White;
wrn =
Color.Red;
wrn1 =
Color.Cyan;
color();
}
private void
buttonOrange_Click(object sender, EventArgs e)
{
buttonOrange.FlatAppearance.BorderColor = System.Drawing.Color.White;
wrn =
Color.Orange;
wrn1 =
Color.DeepSkyBlue;
color();
}
private void
buttonYellow_Click(object sender, EventArgs e)
{
buttonYellow.FlatAppearance.BorderColor = System.Drawing.Color.White;
wrn =
Color.Yellow;
wrn1 =
Color.Blue;
color();
}
private void
buttonGreen_Click(object sender, EventArgs e)
{
buttonGreen.FlatAppearance.BorderColor
= System.Drawing.Color.White;
wrn =
Color.Green;
wrn1 =
Color.Green;
color();
}
private void
buttonBlue_Click(object sender, EventArgs e)
{
buttonBlue.FlatAppearance.BorderColor =
System.Drawing.Color.White;
wrn =
Color.Blue;
wrn1 =
Color.Yellow;
color();
}
private void
buttonPurple_Click(object sender, EventArgs e)
{
buttonPurple.FlatAppearance.BorderColor = System.Drawing.Color.White;
wrn =
Color.Purple;
wrn1 =
Color.Purple;
color();
}
private void
buttonMagenta_Click(object sender, EventArgs e)
{
buttonMagenta.FlatAppearance.BorderColor = System.Drawing.Color.White;
wrn =
Color.Magenta;
wrn1 =
Color.Lime;
color();
}
//EXIT
BUTTON
private void
Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if
(e.CloseReason == CloseReason.UserClosing)
{
DialogResult result =
MessageBox.Show("Serius mau keluar", "Warning",
MessageBoxButtons.YesNo);
if
(result == DialogResult.Yes)
{
Environment.Exit(0);
}
else
{
e.Cancel = true;
}
}
}
//BUTTON
SHAPE
private void
Line_Click(object sender, EventArgs e)
{
reset();
cleartext();
line =
true;
buttoncolor();
Line.BackColor = Color.LightCyan;
}
private void
Rectang_Click(object sender, EventArgs e)
{
reset();
cleartext();
rectang
= true;
buttoncolor();
Rectang.BackColor = Color.LightCyan;
}
private void
Circle_Click(object sender, EventArgs e)
{
reset();
cleartext();
circle =
true;
buttoncolor();
Circle.BackColor = Color.LightCyan;
}
private void
Triangle_Click(object sender, EventArgs e)
{
reset();
cleartext();
triangle
= true;
buttoncolor();
Triangle.BackColor = Color.LightCyan;
}
}
}
6. jika sudah lakukan running program
ini adalah hasilnya jika sudah
berhasil sob
demikian
tutorial program c# untuk membuat paint sederhana di visual studio menggunakan
windows form application.
semoga bermanfaat untuk kita semua.