Learn how to create a digital clock using C# Winforms with this easy-to-follow guide. Perfect for beginners, includes source code and step-by-step instructions.
Creating a digital clock in C# is a great way to practice programming and enhance your skills. This guide will walk you through the process of building a simple yet effective digital clock application using C# and WinForms. By the end of this tutorial, you'll have a working digital clock that displays the current time in a user-friendly graphical interface. Whether you're a beginner or an experienced programmer, this step-by-step guide will help you grasp the essentials of C# programming and application development.
Digital Clock Step-by-Step Guide
1. Create a New Project
- Open Visual Studio and create a new WinForms application project.
- Name your project "Graphical_Digital_Clock" and click "Create."
2. Design the Form
- Open the Form designer (usually named Form1).
- Add a
PictureBoxcontrol to the form. This is where your digital clock will be displayed. - Set the size of the
PictureBoxto fit your clock display needs.
3. Add a Timer Control
- Drag and drop a
Timercontrol from the Toolbox onto your form. - Set the Timer’s
Intervalproperty to1000milliseconds (1 second).
4. Write the Code to Update the Clock
- Double-click on the form to open the code editor.
- Add the following code to handle the
Timer’s Tickevent and update the clock display:
using System;
using System.Drawing;
using System.Windows.Forms;
namespace Graphical_Digital_Clock
{
public partial class Form1 : Form
{
string path = @"Digits\";
Timer t = new Timer();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
t.Interval = 1000;
t.Tick += new EventHandler(t_tick);
t.Start();
}
private void t_tick(object sender, EventArgs e)
{
int h, m, s;
h = DateTime.Now.Hour;
m = DateTime.Now.Minute;
s = DateTime.Now.Second;
int[] time = { h / 10, h % 10, m / 10, m % 10, s / 10, s % 10 };
Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
Graphics graphic = Graphics.FromImage(bmp);
for(int i=0;i<time.Length;i++)
{
int extra = 32 * i + i / 2 * 20;
Image img = Image.FromFile(path + time[i] + ".png");
graphic.DrawImage(img, 10 + extra, 10, 32, 46);
}
Font font = new Font("Arial", 30);
SolidBrush brush = new SolidBrush(Color.Black);
PointF point = new PointF(68.5f, 10);
graphic.DrawString(":", font, brush, point);
point.X = 154.5f;
graphic.DrawString(":", font, brush, point);
pictureBox1.Image = bmp;
graphic.Dispose();
}
}
}
5. Add Digit Images
- Create a folder named "Digits" in your project directory.
- Add image files for each digit (0-9) as PNG files. Name them
0.png,1.png, etc.
6. Run Your Application
- Press F5 or click "Start Debugging" to run your application.
- You should see the digital clock in your
PictureBox, updating every second.
Conclusion
You've successfully built a digital clock using C# and WinForms. This project introduces you to working with graphical elements and timers in a C# application. Feel free to modify and expand upon this project to include features such as different time formats or alarm functionalities. Enjoy coding and exploring further possibilities with C#!
Download C# Digital Clock Source Code
That’s a wrap!
I hope you enjoyed this article
Did you like it? Let me know in the comments below 🔥 and you can support me by buying me a coffee.
And don’t forget to sign up to our email newsletter so you can get useful content like this sent right to your inbox!
Thanks!
Faraz 😊

