我有一个允许创建和运行自动化测试脚本的应用程序。测试脚本本身就是可移植的xml文件,这意味着一旦配置了它,它就可以在任何计算机上运行。
xml文件中保存的配置设置之一是要复制的构建位置。根据计算机根文件夹的设置可能会有所不同,例如在我的计算机上我可能会将F:\Builds\2-QA\ClientA
视为另一台需要\\server1\Public\Builds\2-QA\ClientA
的机器,如果服务器更改则会是`\ NEWSERVER \公用\构建\ 2-QA \客户端A”。
我只通过让用户在xml中保存最后一部分(例如2-QA\ClientA
)来解决这种不确定性,并通过App.Config中的应用程序设置解析根。
问题在于,在用户进入应用程序源目录的GUI中,不清楚他们必须输入的文件夹结构的哪个部分以及App.Config解决了什么。
因此,我想要的是我的文本框中自动填充根目录,但是以只读方式。因此,例如,文本框将显示F:\Builds\
,用户可以在最后添加他们想要的文件夹结构,但是他们无法删除F:\Builds\
的任何部分。保存时我打算剥离F:\Builds\
部分,但如果他们能够(有意或无意)删除F:\Builds\
中的字符,则无法依赖。
有关完成此事的任何建议吗?
答案 0 :(得分:2)
尝试使用MaskedTextBox并将其Mask property设置为您想要前缀的字符串。
类似于:F:\ Builds \ LLLLLLLLLLLL
答案 1 :(得分:0)
我的想法:
忘记让它不可修改。
有一个在文本更改时运行的函数。如果前缀长度为N个字符,请将文本框的前N个字符更改为前缀。
答案 2 :(得分:0)
您可以在文本框前面添加标签吗?标签将包含您不希望更改的文本,这使用户清楚您希望下一位输入文本框。