在 WinForms 中使用时间的最佳方法?

发布于 2024-08-25 19:18:31 字数 216 浏览 10 评论 0原文

我正在尝试创建一个字段,用户将输入他/她每天在项目上花费的时间量。时间可以从 30 分钟到 8 小时不等。 DateTimePickerCustomFormat hh:mm 是最佳选择吗?或者 WinForms C# 有更好的替代方案吗?也许具有特殊设置的 TextBoxMaskedTextBox

I'm trying to make a field where user will enter amount of time per day he/she spent on a project per day. It can be from 30 minutes to 8 hours. Is DateTimePicker with CustomFormat hh:mm best choice for this? Or there's better alternative for WinForms C#? Maybe TextBox or MaskedTextBox with special settings?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

伴梦长久 2024-09-01 19:18:31

如果您对此感到满意,我会为此构建一个自定义控件。也许是一个只读文本框,我在其中显示所用的格式化时间,以及 2 个按钮,一个用于向上,一个用于向下,看起来像旧的 VB 向上向下控件。我建议还添加最小值、最大值和上/下间隔属性。这应该是一个足够简单的控件,并且对于简化用户输入大有帮助。

If you're comfortable with it, I would build a custom control for this. Maybe a read only textbox where I display the formatted time spent, and 2 buttons, one for up, one for down that looked something like the old VB updown control. I'd suggest adding a minimum, maximum, and up / down interval properties also. This should be an easy enough control to do and it would go a long way towards simplifying the user input.

揽清风入怀 2024-09-01 19:18:31

虽然 MaskedTextBox 通常很麻烦,但在这种情况下它可能很有用。掩码=“00:00”。
试一试。

并且您必须自己将文本转换为 TimeSpan 或从文本转换为 TimeSpan

Although the MaskedTextBox is generally a pain, this is a situation it could be useful. With Mask="00:00".
Give it a spin.

And you will have to convert to/from text to TimeSpan yourself

∝单色的世界 2024-09-01 19:18:31

格式为“7h 30m”(7 小时 30 分钟)的文本字段怎么样

How about a textfield with the format "7h 30m" (7 hours and 30 minutes)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文