1. Start a new Visual Basic 2015 project! This apply for the older .net versions.
Start a new project |
2. Create the form and set it up!
Now let set the properties of the form.
In the form properties change the sizes, width = 500 and height = 500.
Change in Properties the title of the form as "Simple To Do List".
3. StatusStrip Control Setting Up. In the StatusStrip create a label where we will present how many tasks we have to do in the moment.
We create a lable within the StatusStrip as it's shown on the above picture. Default property name for the created label is ToolStripStatusLabel1. This is not practical to work with so we will change it to lblTasksCount.
We have the following view.
You can see that the label text of our ToolStripStatusLabel is ToolStripStatusLabel1. We will delete this text.
4. ToolStrip Control Setting Up.
Let create our first button and our first textbox withing the ToolStrip Control.
Now we will name the button and textbox.
ToolStripButton1 Name = btnAddTask (coded version)
ToolStripButton1 Name visual version |
The same way we change Text Property to "Add Task"
We will also add an icon to the button property. We do this when we go with the mouse pointer over the button control and perform right click on the mouse and click "Set Image".
See the photo bellow:
When it comes to downloading icons I always use Iconfinder.com. You can find wonderful premium and free icons there.
Right from the button is the textbox.
Change the property name from ToolStripTextBox1 to txtAddTask. Use the same way as for ToolStripButton.
Let's change the font and the size of ToolStripTextBox1.
Set the font to 16pt.
Change ToolStripTextBox1 size!
For our project we will change only Width to 200.
Let's add the other buttons! From designing perspective we will add Separator at first.
Add the buttons following to look like the image bellow!
Simple To Do List |
- Button2.Name = btnEdit
- Button3.Name = btnRemove
- Button4.Name = btnOpenTaskList
- Button5.Name = btnSaveTaskList
5. Start codding the software!
First change the font of the Task List to 16. Same ways as for the previous controls.
Because in ToolStripTextBox have no Focus (not as the old way), we will write a special code when the form load.
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.ActiveControl = txtAddTask.Control
End Sub
With this code the cursor will be focused in the textbox so we can start writing the task immediately.
Private Sub btnAddTask_Click(sender As Object, e As EventArgs) Handles btnAddTask.Click
'Check if txtAddTaskBox is Null or Empty to avoid adding empty task
If String.IsNullOrEmpty(txtAddTask.Text) Then
MsgBox("Write your task before adding it to the Task List", vbCritical, "Empty TaskBox")
Else
'Add task in the Task List
ListBox1.Items.Add(txtAddTask.Text.ToString)
'Clear the task textbox
txtAddTask.Clear()
'Focus the task textbox
txtAddTask.Focus()
'Count Due Tasks in the Task List
lblTaskCount.Text = "Due Tasks: " & ListBox1.Items.Count
End If
End Sub
You can try to add some tasks now!
Simple Task List in action |
Let enter the code in btnEditTask!
Private Sub btnEdit_Click(sender As Object, e As EventArgs) Handles btnEdit.Click
Dim selecteditemindex As Integer = ListBox1.Items.IndexOf(ListBox1.SelectedItem)
Dim editaskinput As String
Dim Item As Object = ListBox1.Items.Item(selecteditemindex)
Dim index As Integer = ListBox1.Items.IndexOf(Item)
editaskinput = InputBox("Edit the Task", "Edit selected Task")
ListBox1.Items.Remove(ListBox1.SelectedItem)
ListBox1.Items.Insert(index, editaskinput)
End Sub
Private Sub btnRemove_Click(sender As Object, e As EventArgs) Handles btnRemove.Click
Dim itemfordeletion
itemfordeletion = ListBox1.SelectedItem
ListBox1.Items.Remove(itemfordeletion)
End Sub
Edit and Remove selected tasks from the List Task is programmed.
Now we will add the codes for Open Task List and Save Task List.
btnOpenTaskList.Click
Dim OpenFileDialog1 As New OpenFileDialog
OpenFileDialog1.FileName = ""
OpenFileDialog1.Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*"
If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
Dim lines = File.ReadAllLines(OpenFileDialog1.FileName)
ListBox1.Items.Clear()
ListBox1.Items.AddRange(lines)
End If
End Sub
Private Sub btnSaveTaskList_Click(sender As Object, e As EventArgs) Handles btnSaveTaskList.Click
Dim SaveFileDialog1 As New SaveFileDialog
SaveFileDialog1.FileName = ""
SaveFileDialog1.Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*"
If SaveFileDialog1.ShowDialog() = DialogResult.OK Then
Dim sb As New System.Text.StringBuilder()
For Each o As Object In ListBox1.Items
sb.AppendLine(o)
Next
System.IO.File.WriteAllText(SaveFileDialog1.FileName, sb.ToString())
End If
End Sub
Our "Simple To Do List Software" is finished. In my next post I will add advanced options to the software so we can make it complete To Do List Software.
Some of the source codes I used are taking from one of my previous posts "ListBox Complete Tutorial - Visual Basic 2015".