i need help with a maskedtextbox in a C# applikation. I want want it to display the date in the following format "00.00.0000" but it refuses to show the "." instead it shows "00,00,0000". I have tried several different solution but none of them works.

The mask is correct but the .Text attribute refuses to show "." but converts them to "," instead

Does anyone has any ideas about this or has anyone come across this before?

I'm looking forward for your help.

7 Years
Discussion Span
Last Post by ddanbe

Has probably to do with international settings. In some countries the , (a comma) is the decimal sign in others it is . (a point)


No it's not that. The culture is set to fi-FI

Edited by Jimmalmquist: n/a


I set a mask of 00.00.0000 and had absolutely no problem with it.
I even could set a date like 56.67.5678 !
I should advise you to use a DateTimePicker control instead.


You're right the control doesn't know it it's a date or another type of mask. It read the decimalseparator from the culture wich for finnish so need one of two solutions.

1. owerwrite the comma and set it to "." this is not so easy.
2. Get the maskedtextbox to validate the input as a date.


Changing a char in a string is very easy!
Look :

namespace ConsoleApplication1
    class Program
        static void Main(string[] args)
            string InputStr = "12,34,5678";
            string DateStr = InputStr.Replace(',', '.');

DateStr now contains : "12.34.5467"
But again: you should consider the DateTimePicker control, to input a date in your application.

This article has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.