每当我点击用户控件的区域时,它会突出显示组合框,使其如果我尝试滚动到屏幕底部,它只会滚动组合框。
我尝试将somelabel.focus()
放入用户控件的click事件中。这种作品。但是,这不允许我滚动到控件的一部分somelabel
不可见,这对我来说有点奇怪。我显然需要能够一直滚动到usercontrol的底部。
其他信息:这是一个winforms项目,用户控件正在一个计时器上运行,其中唯一的控件是combobox
和一些labels
属性已更新.text
每次定时器循环。
更新:我尝试禁用计时器,看来在将焦点更改为其中一个标签后,我现在可以一直滚动到页面底部。所以这似乎与计时器有关。
以下是一些复制问题的代码。如果单击面板,它将获得焦点,但不会让您使用滚轮滚动。 它会将面板的顶部带回屏幕顶部。但是,如果您没有打开计时器,则可以自由滚动。
Public i As Integer
Public iString As String
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
iString = i.ToString()
Label1.Text = iString
Label2.Text = iString
Label3.Text = iString
Label4.Text = iString
Label5.Text = iString
i += 1
End Sub
Private Sub UserControl1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Timer1.Start()
End Sub
Private Sub Panel1_Click1(sender As Object, e As EventArgs) Handles Panel1.Click
Panel1.Focus()
End Sub
答案 0 :(得分:0)
您可以添加Dock=Fill
AutoScroll=true
和private void panel1_Click(object sender, EventArgs e)
{
this.ActiveControl = panel1;
}
来插入控件。然后为面板添加click事件:
UserControl
这样,如果您单击面板内部(填充整个<script>
function myFunction(){
//function
}
</script>
<input id="price-postfix1" onclick="myFunction()" name="price-postfix" type="radio" value="$option1"/>Option1<br>
<input id="price-postfix2" onclick="myFunction()" name="price-postfix" type="radio" value="$option2"/>Option1<br>
<input id="price-postfix3" onclick="myFunction()" name="price-postfix" type="radio" value="$option3"/>Option1<br>
<input id="price-postfix" name="price-postfix" type="text" readonly="readonly" value="$result"/>
),面板将处于活动状态,您可以滚动。这不会影响面板内的控件,因此您可以按照常规方式使用它们。