gpt4 book ai didi

c# - 如何将 WinForms TextBox 的前几个字符设置为只读?

转载 作者:IT王子 更新时间:2023-10-29 03:49:47 26 4
gpt4 key购买 nike

我有一个带有文本框的表单,用于输入 URL。我需要将 (http://) 作为预定义值添加到此文本框,并希望它是只读的,这样用户将无法删除 http://,但他可以在它后面写入。

enter image description here

如有任何帮助,我们将不胜感激。

最佳答案

这里有几个选项:

  1. 简单的方法是创建一个 label在带有这些字符的文本框外(左侧)。 (简单易懂,便于用户理解)

  2. 创建第二个只读文本框以在开始时使用,设置其样式以匹配输入文本框并将它们彼此相邻对齐。是的,你会得到一条像素线来将它们分开,但我认为这会增加用户体验,让人们明白这不是为了搞乱(我个人会选择这个选项)

  3. 如果您需要样式,可以roll your own user control它使用面板、标签和文本框,并根据需要设置适当的边框样式。 (获得所需样式的最佳方式)

  4. 第四种更烦人的方法是在文本框本身上处理其中一个关键事件(例如 KeyDown )。有了它,您可以进行大量检查并改变插入符号的位置以使其正常工作,但相信我,这会让您竭尽全力使其完美工作! (需要付出太多努力才能做到正确)

总而言之,我认为选项 2 是最好的选择。当然,如果您使用的是 WPF,您无疑会在样式方面拥有更大的灵 active 。

关于c# - 如何将 WinForms TextBox 的前几个字符设置为只读?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11035532/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com