首页 \ 问答 \ 验证TimeSpan(Validating TimeSpan)

验证TimeSpan(Validating TimeSpan)

我想验证文本框中的用户输入,例如,如果它在执行任何代码之前抛出错误消息

private void MtoCbutton_Click(object sender, EventArgs e)
    {
        if (TimeSpan.TryParse(minTosecTextBox.Text, out minutes))
        {

            var Minute = TimeSpan.ParseExact(minTosecTextBox.Text, @"mm\.ss", System.Globalization.CultureInfo.InvariantCulture);
            resultSectextBoxtextBox.Text = Minute.TotalSeconds.ToString();
        }

        else
        {

            MessageBox.Show("Please enter Minutes in correct format");
        }
    }

I want to validate user input in the textbox, for example if its int throw error message before executing any code

private void MtoCbutton_Click(object sender, EventArgs e)
    {
        if (TimeSpan.TryParse(minTosecTextBox.Text, out minutes))
        {

            var Minute = TimeSpan.ParseExact(minTosecTextBox.Text, @"mm\.ss", System.Globalization.CultureInfo.InvariantCulture);
            resultSectextBoxtextBox.Text = Minute.TotalSeconds.ToString();
        }

        else
        {

            MessageBox.Show("Please enter Minutes in correct format");
        }
    }

原文:https://stackoverflow.com/questions/40953552
更新时间:2022-01-26 08:01

最满意答案

您可以使用Regex.IsMatch()方法来验证字符串格式:

if(!Regex.IsMatch(minTosecTextBox.Text, @"\d{2}\.\d{2}"))
{
   throw new ArgumentException("Input is not in correct format");
}

You can use Regex.IsMatch() method to verify the string format:

if(!Regex.IsMatch(minTosecTextBox.Text, @"\d{2}\.\d{2}"))
{
   throw new ArgumentException("Input is not in correct format");
}

相关问答

更多
  • 假设你使用.NET,使用: MyTimeSpan.Ticks() 并转换回(在VB.NET中的示例,C#实现是微不足道的): MyTimeSpan = New TimeSpan(totalTicks) Assuming you use .NET, Use: MyTimeSpan.Ticks() and to convert back (sample in VB.NET, C# implementation is trivial nontheless): MyTimeSpan = New TimeSpa ...
  • 解决了。 [XmlIgnore] public TimeSpan[] TimeSpanArrayField; [Browsable(false)] [XmlElement(DataType = "duration", ElementName = "TimeSpanField")] public string[] TimeSpanFieldString { get { string[] strings = ...
  • 您可以结合使用它们 - 但是您需要知道TimeSpan本身是不可变的 - 您需要使用返回值: TimeSpan result = ts3.Add(TimeSpan.FromMinutes(1)); 或者你总是可以分配回同一个变量: ts3 = ts3.Add(TimeSpan.FromMinutes(1)); 我个人虽然使用运算符重载: TimeSpan result = ts3 + TimeSpan.FromMinutes(1); 要么 ts3 += TimeSpan.FromMinutes(1); ...
  • 您可以使用Regex.IsMatch()方法来验证字符串格式: if(!Regex.IsMatch(minTosecTextBox.Text, @"\d{2}\.\d{2}")) { throw new ArgumentException("Input is not in correct format"); } You can use Regex.IsMatch() method to verify the string format: if(!Regex.IsMatch(minTosecTextB ...
  • 有一个TimeSpan(Int64)构造函数,它接受许多刻度: https://msdn.microsoft.com/en-us/library/zz841zbz(v=vs.110).aspx 将TimeSpan结构的新实例初始化为指定的刻度数。 在.NET中,Ticks总是表示为Int64 ,所以你不应该使用var ticks = 1因为那是一个隐式的Int32 ,所以你最终会使用错误的方法重载。 而是指定显式类型声明或长文字值( var ticks = 1L )。 There is a TimeSpan ...
  • 您无需将其转换为字符串。 DateTime start = DateTime.Now; DateTime end = DateTime.Now; (注意:以上两次相同) 完成后,您可以使用上面显示的其他技术之一来获得时间跨度: var timeSpent = (end - start); 要么 TimeSpan timeSpent = end.Subtract(start); 要显示它: Console.WriteLine(timeSpent.TotalMilliseconds); 现在,去代码吧! ...
  • TimeSpan.Add不会修改输入 - 它会返回一个新的TimeSpan ,它是输入和加数: 备注 返回值必须介于TimeSpan.MinValue和TimeSpan.MaxValue之间; 否则,会引发异常。 返回值是一个新的TimeSpan; 原始的TimeSpan未被修改。 TimeSpan.Add does not modify the input - it returns a new TimeSpan which is the input plus the addend: Remarks The ...
  • 您将找到的最高分辨率将通过秒表课程 。 如果您的CPU支持高分辨率计时器,则Stopwatch类将使用它。 您可以通过IsHighResolution和/或Frequency属性进行检查。 这是您应该用于性能测量的类,而不是DateTime 。 编辑:我刚学到了一些关于DateTime的新知识。 来自文档 ...... 时间值以称为刻度的100纳秒单位进行测量,特定日期是格里高利历日历中自公元0001年1月1日午夜12点起的刻度数(不包括闰秒添加的刻度) 。 例如,刻度值31241376000000000L ...
  • 问题是每次循环执行时都要实例化一个全新的字典 尝试这个: Dictionary _dict = new Dictionary(); while(true) { TimeSpan t = // some timespan which is updating every second int value = // some value associated with timespan _dict.Add(t,va ...
  • 尝试这个: TimeSpan timeaverage = TimeSpan.FromMilliseconds(TimeDisplay.Average(i=>i.TotalMilliseconds)); try this: TimeSpan timeaverage = TimeSpan.FromMilliseconds(TimeDisplay.Average(i=>i.TotalMilliseconds));

相关文章

更多

最新问答

更多
  • 如何重新加载下拉列表(How to reload dropdownlist)
  • RStudio:在脚本中保留特殊字符(RStudio: keeping special characters in a script)
  • Powershell的“GetLatest”不会在新的TFS工作区上下载文件(“GetLatest” with Powershell doesn't download files on new TFS workspace)
  • 我如何让JS识别一个由字符组成的数组?(How do I get JS to recognise an array insted of characters?)
  • EF从存储过程中急切加载(EF eager loading from stored procedure)
  • 将输出文件添加到Python扩展(Adding output file to Python extension)
  • 淮北职业技术学院电脑应用专业咋样?
  • 更改默认扩展面板箭头的箭头样式(Change arrow style for default expansion panel arrow)
  • 芜湖计算机(计算机)培训机构(培训班,学校)哪家好
  • 致命错误:使用clang-llvm ASTMatcher时未找到'stddef.h'文件(fatal error: 'stddef.h' file not found when using clang-llvm ASTMatcher)
  • 内容的.NET缓存(Contentful .NET caching)
  • 客户端没有发生WCF回调(WCF callback is not happening in client)
  • 使用friend在全局范围内调用类成员函数会产生27个错误(Calling a Class member function in Global Scope using friend Gives 27 ERRORS)
  • 如何绑定到WPF中的另一个控件属性(How to Bind to Another Control Property in WPF)
  • 南华大学电脑专业,就业好不好
  • 是否存在泄密文件的官方(或常见)文件扩展名或后缀?(Is there an official (or common) file extention or suffix for deflated files?)
  • 在SVM python中只训练一次(Training only once in SVM python)
  • 淘汰自定义绑定光滑js无法正常工作(knockout custom binding for slick js not working)
  • 似乎无法正确地抓住网站“福布斯”(Can't seem to scrape the website “Forbes” properly)
  • 无法使用boto.rds2从describe_instance方法检索有关db实例的信息(Not able to retrieve information about db instances from the describe_instance method using boto.rds2)
  • 转换为英国日期格式问题(Convert to british date format issue)
  • 在表中列出不同的元组(10种方法)(List distinct tuples in a table(SQL query)(10 ways))
  • OrientDB查询比较(OrientDB query compare)
  • 全局变量有什么不好?(What is so bad about global variables? [duplicate])
  • 为什么JavaMail Transport.send()是一个静态方法?(Why is JavaMail Transport.send() a static method?)
  • 获取最近3个Instagram图像张贴在一个地方(Get last 3 instagram images posted in a place)
  • 使用libnfc格式化/读/写NDEF Mifare 1K卡(Format/Read/Write NDEF Mifare 1K Card using libnfc)
  • 阻止谷歌索引特定图像(Block Google from indexing a particular image)
  • 消息模板接收让Dispatcher没有订阅频道(Message Template receive gives Dispatcher has no subscribers for channel)
  • OpenShift:使用自定义节点版本(OpenShift: Use custom node version)