I wanna change the number of the TextBox when The Mouse Scrolls.
I have a Scroll TextBox But I Don't wanna use that. Is There any Event related to this?
Should I write an TextBox Event? If yes, How can I write a textBox event that Happens when Mouse Scrolls?
The MouseWheel
event is there alright:
public Form1()
{
InitializeComponent();
textBox1.MouseWheel += textBox1_MouseWheel;
}
void textBox1_MouseWheel(object sender, MouseEventArgs e)
{
throw new NotImplementedException();
}
But it is not visible in the event editor. No idea why..
You can find the full list of events through Intellisense
like this:
Enter the Control's name and a dot. Now watch the dropdownlist for the event you need. When you have it write +=
add press Tab
twice. This hooks up the event and creates a stub for it.
MouseWheelEventArgs
are not from Winforms but from WPF. They contain a Delta alright, which has at least a sign that can be used, even if the value is always the same for my mice.. –
Nystagmus Use ScrollViewer.ScrollChanged event in xaml. Here is an example to implement auto scroll log textbox. Scroll up stops the auto scroll action and scroll down resume action.
XAML:
<TextBox x:Name="LogTextBox" Background="Black" Foreground="LightGray" TextChanged="OnTextChanged"
IsReadOnly="True" IsReadOnlyCaretVisible="True"
VerticalScrollBarVisibility="Auto" ScrollViewer.ScrollChanged="OnScroll">
</TextBox>
C#:
public partial class LogTextBlock : UserControl
{
public LogTextBlock() => InitializeComponent();
bool m_autoScroll = true;
void OnTextChanged(object sender, TextChangedEventArgs e)
{
if (m_autoScroll) LogTextBox.ScrollToEnd();
}
void OnScroll(object sender, ScrollChangedEventArgs e)
{
var verticalChange = e.VerticalChange;
if (verticalChange > 0)
m_autoScroll = true;
else if (verticalChange < 0)
m_autoScroll = false;
}
}
You need MouseWheel event. Check the documentation.
VS studio is not Intellisense
becuase some properties and methods are
[Browsable(false)]
[EditorBrowsable(EditorBrowsableState.Advanced)]
© 2022 - 2024 — McMap. All rights reserved.