将NumericUpDown设置为只读

时间:2019-04-26 14:19:36

标签: vb.net visual-studio

我的程序页面之一上有一个NumericUpDown,名称为R1G。

在我的代码中,我试图将此NumericUpDown声明为只读,以便用户只能通过使用侧面的箭头键更改其数字值,而不是输入自己的数字值。

问题是,每次我尝试以只读方式输入R1G时,Visual Studio都会向我的编码行显示一条错误消息,提示“期望声明”

我尝试了以下每种单行方法:

NumericUpDown.ReadOnly = true
R1G.NumericUpDown.ReadOnly = true
R1G.ReadOnly = true
R1G.Text.ReadOnly = true

但无济于事。我想不出任何其他方式可以将R1G设置为只读。你能帮忙吗?

奇怪的是,我确实编辑了代码,所以现在行R1G.Readonly = True 在那里,但是R1G处于红色下划线并且仍然出现“需要声明”吗?

2 个答案:

答案 0 :(得分:0)

如果要保持白色背景色(不显示为禁用/只读),只需在KeyDown事件中取消按键操作

Private Sub NumericUpDown1_KeyDown(sender As Object, e As KeyEventArgs) Handles NumericUpDown1.KeyDown
    e.SuppressKeyPress = True
End Sub

答案 1 :(得分:0)

我发现我不能简单地通过使用编码窗口将NumericUpDown属性编辑为只读,而是通过使用其内的属性窗口为每个NumericUpDown的只读设置切换了False / True设置。视觉工作室。现在,我将所有NumericUpDown只读属性都设置为True,这可以防止用户键入自己的值或将其留空! :)