Kali ini saya akan memberikan tutorial mengenai progrm berbahasa C# yaitu notepad, Aplikasi ini dibuat untuk membuka file yang berextension .txt, pertama yang harus dipersiapkan yaitu komponen toolbox untuk mengisi form diantaranya ada pada tabel dibawah :
1. tabel komponen Form1
2. tabel komponen Form Find (frmFind)
3. tabel komponen Form About (frmAbout)
bagi yang belum tau cara add form dalam satu project bisa dilihat gambar dibawah ini :
Klik pada project yang dibuat yaitu notepad pilih add lalu pilih new item nanti tampil jendela baru seperti gambar dibawah :
Pilih Windows Form lalu isi nama sesuai keinginan setelah selesai klik add.
4. Tampilan Form1
5. Tampilan Form Find
6. Tampilan Form About
6. Listing Program untuk Form1
Form1:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
//tambahkan
using Microsoft.Win32;
using System.IO;
using System.Threading.Tasks;
using System.Text.RegularExpressions;
namespace Notepad
{
public partial class Form1 : Form
{
public static string Findtext;
public static Boolean matchcase;
int startpos;
public Form1()
{
InitializeComponent();
}
void bukafile() //fungsi untuk membuka file ".txt"
{
OpenFileDialog buka = new OpenFileDialog();
buka.DefaultExt = ".txt";
buka.Filter = " Text Documents | *.txt";
buka.FileName = "";
buka.ValidateNames = true;
buka.Multiselect = false;
if (buka.ShowDialog() == DialogResult.OK)
{
string fileTerpilih = buka.FileName;
if (fileTerpilih != "")
{
rtinput.LoadFile(fileTerpilih, RichTextBoxStreamType.PlainText);
}
}
}
void simpanfile() //fungsi untuk menyimpan file
{
SaveFileDialog simpan = new SaveFileDialog();
simpan.Filter = "Text Documents | *.txt";
simpan.RestoreDirectory = true;
if (simpan.ShowDialog() != DialogResult.Cancel)
{
StreamWriter filesimpan = new StreamWriter(File.Create(simpan.FileName));
filesimpan.Write(rtinput.Text);
filesimpan.Dispose();
}
}
private void Form1_Load(object sender, EventArgs e)
{
startpos = 0;
if (String.IsNullOrEmpty(rtinput.Text))
{
findToolStripMenuItem.Enabled = false;
findNextToolStripMenuItem.Enabled = false;
}
else
{
findToolStripMenuItem.Enabled = true;
}
}
//====================== ISI MENUSTRIP "FILE" ==============================//
private void sNew_Click(object sender, EventArgs e)
{
rtinput.Clear();
}
private void bbukafile_Click(object sender, EventArgs e)
{
if (rtinput.Text != "")
{
var pesan = MessageBox.Show("File belum tersimpan, Simpan terlebih dahulu???", "konfirmasi",
MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (pesan == DialogResult.Yes)
{
simpanfile();
bukafile();
}
else
{
bukafile();
}
}
else
{
bukafile();
}
}
private void bsimpan_Click(object sender, EventArgs e)
{
simpanfile();
}
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}
//======================== ISI MENU EDIT ========================//
private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
{
using (frmAbout frm = new frmAbout())
{
frm.ShowDialog();
}
}
private void undoToolStripMenuItem_Click(object sender, EventArgs e)
{
rtinput.Undo();
}
private void redoToolStripMenuItem_Click(object sender, EventArgs e)
{
rtinput.Redo();
}
private void cutToolStripMenuItem_Click(object sender, EventArgs e)
{
rtinput.Cut();
}
private void copyToolStripMenuItem_Click(object sender, EventArgs e)
{
rtinput.Copy();
}
private void pasteToolStripMenuItem_Click(object sender, EventArgs e)
{
rtinput.Paste();
}
private void deleteToolStripMenuItem_Click(object sender, EventArgs e)
{
rtinput.SelectedText = "";
}
private void selectAllToolStripMenuItem_Click(object sender, EventArgs e)
{
rtinput.SelectAll();
}
private void findToolStripMenuItem_Click(object sender, EventArgs e)
{
frmFind f1 = new frmFind();
f1.ShowDialog();
//ShowForm(frmFind.inst);
if (startpos >= 0)
{
if (matchcase == true)
{
if (rtinput.Text.IndexOf(Findtext) == -1)
{
MessageBox.Show("Masukan kata yang ingin dicari");
startpos = 0;
}
else
{
rtinput.Find(Findtext, (startpos + 1), rtinput.Text.Length, RichTextBoxFinds.MatchCase);
startpos = rtinput.Text.IndexOf(Findtext, startpos) + 1;
}
}
else
{
if (rtinput.Text.IndexOf(Findtext) == -1)
{
MessageBox.Show("Masukan kata yang ingin dicari");
startpos = 0;
}
else
{
rtinput.Find(Findtext, (startpos + 1), rtinput.Text.Length, RichTextBoxFinds.None);
startpos = rtinput.Text.IndexOf(Findtext, startpos) + 1;
}
}
}
if (startpos == 0)
{
MessageBox.Show("pencarian Selesai");
startpos = 0;
}
findNextToolStripMenuItem.Enabled = true;
}
private void findNextToolStripMenuItem_Click(object sender, EventArgs e)
{
if (startpos >= 0)
{
if (matchcase == true)
{
if (rtinput.Text.IndexOf(Findtext) == -1)
{
MessageBox.Show("Masukan kata yang ingin dicari");
startpos = 0;
}
else
{
rtinput.Find(Findtext, startpos, rtinput.Text.Length, RichTextBoxFinds.None);
startpos = rtinput.Text.IndexOf(Findtext, startpos) + 1;
}
}
else
{
if (rtinput.Text.IndexOf(Findtext) == -1)
{
MessageBox.Show("Masukan kata yang ingin dicari");
startpos = 0;
}
else
{
rtinput.Find(Findtext, startpos, rtinput.Text.Length, RichTextBoxFinds.None);
startpos = rtinput.Text.IndexOf(Findtext, startpos) + 1;
}
}
}
if (startpos == 0)
{
MessageBox.Show("pencarian Selesai");
startpos = 0;
}
}
private void dateTimeToolStripMenuItem_Click(object sender, EventArgs e)
{
rtinput.Text = DateTime.Now.ToString();
}
private void rtinput_TextChanged(object sender, EventArgs e)
{
startpos = 0;
if (String.IsNullOrEmpty(rtinput.Text))
{
findToolStripMenuItem.Enabled = false;
findNextToolStripMenuItem.Enabled = false;
}
else
{
findToolStripMenuItem.Enabled = true;
}
}
private void wordToolStripMenuItem_Click(object sender, EventArgs e)
{
if(wordToolStripMenuItem.Checked == true)
{
rtinput.WordWrap = true;
}
else
{
rtinput.WordWrap = false;
}
}
private void fontToolStripMenuItem1_Click(object sender, EventArgs e)
{
FontDialog font1 = new FontDialog();
DialogResult openFont = font1.ShowDialog();
if (openFont == DialogResult.OK)
{
rtinput.Font = font1.Font;
}
}
private void backgroundColorToolStripMenuItem_Click(object sender, EventArgs e)
{
ColorDialog clr = new ColorDialog();
DialogResult openClr = clr.ShowDialog();
if (openClr == DialogResult.OK)
{
rtinput.BackColor = clr.Color;
}
}
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
//tambahkan
using Microsoft.Win32;
using System.IO;
using System.Threading.Tasks;
using System.Text.RegularExpressions;
namespace Notepad
{
public partial class Form1 : Form
{
public static string Findtext;
public static Boolean matchcase;
int startpos;
public Form1()
{
InitializeComponent();
}
void bukafile() //fungsi untuk membuka file ".txt"
{
OpenFileDialog buka = new OpenFileDialog();
buka.DefaultExt = ".txt";
buka.Filter = " Text Documents | *.txt";
buka.FileName = "";
buka.ValidateNames = true;
buka.Multiselect = false;
if (buka.ShowDialog() == DialogResult.OK)
{
string fileTerpilih = buka.FileName;
if (fileTerpilih != "")
{
rtinput.LoadFile(fileTerpilih, RichTextBoxStreamType.PlainText);
}
}
}
void simpanfile() //fungsi untuk menyimpan file
{
SaveFileDialog simpan = new SaveFileDialog();
simpan.Filter = "Text Documents | *.txt";
simpan.RestoreDirectory = true;
if (simpan.ShowDialog() != DialogResult.Cancel)
{
StreamWriter filesimpan = new StreamWriter(File.Create(simpan.FileName));
filesimpan.Write(rtinput.Text);
filesimpan.Dispose();
}
}
private void Form1_Load(object sender, EventArgs e)
{
startpos = 0;
if (String.IsNullOrEmpty(rtinput.Text))
{
findToolStripMenuItem.Enabled = false;
findNextToolStripMenuItem.Enabled = false;
}
else
{
findToolStripMenuItem.Enabled = true;
}
}
//====================== ISI MENUSTRIP "FILE" ==============================//
private void sNew_Click(object sender, EventArgs e)
{
rtinput.Clear();
}
private void bbukafile_Click(object sender, EventArgs e)
{
if (rtinput.Text != "")
{
var pesan = MessageBox.Show("File belum tersimpan, Simpan terlebih dahulu???", "konfirmasi",
MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (pesan == DialogResult.Yes)
{
simpanfile();
bukafile();
}
else
{
bukafile();
}
}
else
{
bukafile();
}
}
private void bsimpan_Click(object sender, EventArgs e)
{
simpanfile();
}
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}
//======================== ISI MENU EDIT ========================//
private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
{
using (frmAbout frm = new frmAbout())
{
frm.ShowDialog();
}
}
private void undoToolStripMenuItem_Click(object sender, EventArgs e)
{
rtinput.Undo();
}
private void redoToolStripMenuItem_Click(object sender, EventArgs e)
{
rtinput.Redo();
}
private void cutToolStripMenuItem_Click(object sender, EventArgs e)
{
rtinput.Cut();
}
private void copyToolStripMenuItem_Click(object sender, EventArgs e)
{
rtinput.Copy();
}
private void pasteToolStripMenuItem_Click(object sender, EventArgs e)
{
rtinput.Paste();
}
private void deleteToolStripMenuItem_Click(object sender, EventArgs e)
{
rtinput.SelectedText = "";
}
private void selectAllToolStripMenuItem_Click(object sender, EventArgs e)
{
rtinput.SelectAll();
}
private void findToolStripMenuItem_Click(object sender, EventArgs e)
{
frmFind f1 = new frmFind();
f1.ShowDialog();
//ShowForm(frmFind.inst);
if (startpos >= 0)
{
if (matchcase == true)
{
if (rtinput.Text.IndexOf(Findtext) == -1)
{
MessageBox.Show("Masukan kata yang ingin dicari");
startpos = 0;
}
else
{
rtinput.Find(Findtext, (startpos + 1), rtinput.Text.Length, RichTextBoxFinds.MatchCase);
startpos = rtinput.Text.IndexOf(Findtext, startpos) + 1;
}
}
else
{
if (rtinput.Text.IndexOf(Findtext) == -1)
{
MessageBox.Show("Masukan kata yang ingin dicari");
startpos = 0;
}
else
{
rtinput.Find(Findtext, (startpos + 1), rtinput.Text.Length, RichTextBoxFinds.None);
startpos = rtinput.Text.IndexOf(Findtext, startpos) + 1;
}
}
}
if (startpos == 0)
{
MessageBox.Show("pencarian Selesai");
startpos = 0;
}
findNextToolStripMenuItem.Enabled = true;
}
private void findNextToolStripMenuItem_Click(object sender, EventArgs e)
{
if (startpos >= 0)
{
if (matchcase == true)
{
if (rtinput.Text.IndexOf(Findtext) == -1)
{
MessageBox.Show("Masukan kata yang ingin dicari");
startpos = 0;
}
else
{
rtinput.Find(Findtext, startpos, rtinput.Text.Length, RichTextBoxFinds.None);
startpos = rtinput.Text.IndexOf(Findtext, startpos) + 1;
}
}
else
{
if (rtinput.Text.IndexOf(Findtext) == -1)
{
MessageBox.Show("Masukan kata yang ingin dicari");
startpos = 0;
}
else
{
rtinput.Find(Findtext, startpos, rtinput.Text.Length, RichTextBoxFinds.None);
startpos = rtinput.Text.IndexOf(Findtext, startpos) + 1;
}
}
}
if (startpos == 0)
{
MessageBox.Show("pencarian Selesai");
startpos = 0;
}
}
private void dateTimeToolStripMenuItem_Click(object sender, EventArgs e)
{
rtinput.Text = DateTime.Now.ToString();
}
private void rtinput_TextChanged(object sender, EventArgs e)
{
startpos = 0;
if (String.IsNullOrEmpty(rtinput.Text))
{
findToolStripMenuItem.Enabled = false;
findNextToolStripMenuItem.Enabled = false;
}
else
{
findToolStripMenuItem.Enabled = true;
}
}
private void wordToolStripMenuItem_Click(object sender, EventArgs e)
{
if(wordToolStripMenuItem.Checked == true)
{
rtinput.WordWrap = true;
}
else
{
rtinput.WordWrap = false;
}
}
private void fontToolStripMenuItem1_Click(object sender, EventArgs e)
{
FontDialog font1 = new FontDialog();
DialogResult openFont = font1.ShowDialog();
if (openFont == DialogResult.OK)
{
rtinput.Font = font1.Font;
}
}
private void backgroundColorToolStripMenuItem_Click(object sender, EventArgs e)
{
ColorDialog clr = new ColorDialog();
DialogResult openClr = clr.ShowDialog();
if (openClr == DialogResult.OK)
{
rtinput.BackColor = clr.Color;
}
}
}
}
7. Listing Program untuk Form Find
Form Find:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Notepad
{
public partial class frmFind : Form
{
public frmFind()
{
InitializeComponent();
//Form1 frm1 = new Form1();
//frm1.Visible = true;
}
private void frmFind_Load(object sender, EventArgs e)
{
button1.Enabled = false;
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(textBox1.Text))
{
button1.Enabled = false;
}
else
{
button1.Enabled = true;
}
}
private void button1_Click(object sender, EventArgs e)
{
if (checkBox1.Checked == true)
{
Form1.matchcase = true;
}
else
{
checkBox1.Checked = false;
}
Form1.Findtext = textBox1.Text;
this.Close();
}
private void button2_Click(object sender, EventArgs e)
{
Form1.Findtext = "";
this.Close();
}
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Notepad
{
public partial class frmFind : Form
{
public frmFind()
{
InitializeComponent();
//Form1 frm1 = new Form1();
//frm1.Visible = true;
}
private void frmFind_Load(object sender, EventArgs e)
{
button1.Enabled = false;
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(textBox1.Text))
{
button1.Enabled = false;
}
else
{
button1.Enabled = true;
}
}
private void button1_Click(object sender, EventArgs e)
{
if (checkBox1.Checked == true)
{
Form1.matchcase = true;
}
else
{
checkBox1.Checked = false;
}
Form1.Findtext = textBox1.Text;
this.Close();
}
private void button2_Click(object sender, EventArgs e)
{
Form1.Findtext = "";
this.Close();
}
}
}
8. Listing Program untuk Form About
Form About:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Notepad
{
public partial class frmAbout : Form
{
public frmAbout()
{
InitializeComponent();
}
private void frmAbout_Load(object sender, EventArgs e)
{
lbProductName.Text = string.Format("Product Name : {0}", Application.ProductName);
lbProductVersion.Text = string.Format("Version : {0}", Application.ProductVersion);
lbCopyright.Text = "Copyright © 2018 By Visual Studio 2010";
}
private void btnOK_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
9. Running Program
Tidak ada komentar:
Posting Komentar