首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过RepeatButton增加和减少100的数量?

如何通过RepeatButton增加和减少100的数量?
EN

Stack Overflow用户
提问于 2017-09-22 13:36:17
回答 2查看 67关注 0票数 0

您可以通过one通过以下代码增加和减少数字。

遵循密码是可以的。

代码语言:javascript
复制
<Window x:Class="WpfApplication1.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="400">
<Grid>
    <RepeatButton Width="100" Height="40"  HorizontalAlignment="Left" Name="btnRemove" Content="Remove" Click="btnRemove_Click" />
    <TextBox Width="150" Height="40" Name="txtDisplay" TextAlignment="Center" Text="5000" MaxLength="5" />
    <RepeatButton Width="100" Height="40" HorizontalAlignment="Right" Name="btnAdd" Content="Add" Click="btnAdd_Click" />
</Grid>
</Window>

..。

代码语言:javascript
复制
Namespace WpfApplication1

Partial Public Class MainWindow

    Public counter As Integer = 5000

    Private Sub btnAdd_Click(sender As Object, e As RoutedEventArgs)
        txtDisplay.Text = (System.Threading.Interlocked.Increment(counter)).ToString()
    End Sub

    Private Sub btnRemove_Click(sender As Object, e As RoutedEventArgs)
        txtDisplay.Text = (System.Threading.Interlocked.Decrement(counter)).ToString()
    End Sub

End Class

End Namespace

问题:

如何用100增减数字

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-22 13:39:21

这个怎么样?

代码语言:javascript
复制
Private Sub btnAdd_Click(sender As Object, e As RoutedEventArgs)
    counter += 100
    If (counter > 6000) Then
        counter = 6000
    End If
    txtDisplay.Text = counter.ToString()
End Sub

Private Sub btnRemove_Click(sender As Object, e As RoutedEventArgs)
    counter -= 100
    If (counter < 0) Then
        counter = 0
    End If
    txtDisplay.Text = counter.ToString()
End Sub

这里没有理由使用System.Threading.Interlocked.Increment,因为事件处理程序总是在同一个线程上执行。

票数 1
EN

Stack Overflow用户

发布于 2017-09-22 13:43:32

那么你的问题是关于线程安全的增量/递减吗?您可以使用Interlocked.Add

代码语言:javascript
复制
Private Sub btnAdd_Click(sender As Object, e As RoutedEventArgs)
    txtDisplay.Text = System.Threading.Interlocked.Add(counter, 100).ToString()
End Sub

Private Sub btnRemove_Click(sender As Object, e As RoutedEventArgs)
    txtDisplay.Text = System.Threading.Interlocked.Add(counter, -100).ToString()
End Sub
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46366134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档