按钮是图形用户界面中的简单元素,可以将鼠标点击或手指点击(在移动设备上)作为输入。
这是一个小程序 #包括 LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR
所以我目前正在尝试制作一个存档机器人,您可以在其中选择角色并获取有关他们的所有信息。我为每个角色使用了按钮。 现在我想对按钮行进行排序...
是否可以向 QPushButton 添加工具提示。我的意思是,当您滚动按钮时,会出现一个小文本框(通常是黄色)并告诉用户该按钮正在做什么。 谢谢你。
我在wordpress中创建了一个插件来向TinyMCE添加一个按钮。我现在有下面的代码,它非常严格地遵循这里的示例: https://www.gavick.com/blog/wordpress-tinymce-custom-
我在 Shopify 中创建了一个自定义元字段,以将建议的产品添加到产品页面。 我已将代码添加到我的产品模板中,并且正确显示了建议的产品。 我要打广告...
我使用一些 jQuery 将 Enter 键链接到 HTML 按钮,代码如下: $("#console").keyup(函数(事件){ if(event.keyCode == 13) { $("#submit").click(); } }); ...
我目前有一个包含 3 个按钮的工作表,如果单击这些按钮,所有按钮都会运行子例程。我编写了另一个子例程,用于复制当前工作表并将所有数据粘贴到新工作表中...
无法点击 Facebook 主页中的“创建新帐户”按钮 在执行过程中,它在线程“main”org.openqa.selenium.NoSuchElementException中显示异常:没有这样的元素:无法
我的网站上有一个音频文件。一旦你点击一个按钮,它就会播放,并且它可以工作,这一切都很好。 但是,我需要它,以便当您单击末尾的 3 个点时,用户可以下载...
在隐藏按钮上触发 Button.PerformClick()
我正在开发一个 C# WinForms 应用程序,其中有许多进程,这些进程全部由“主”应用程序管理。 在这个主应用程序中,每个进程都由自己的可视化
我正在尝试单击此按钮(在最后的代码中) 问题是,正如你所看到的,我只有 ID,所以我不能使用 IE.Document.getElementsByName("xxxx").Item 或 IE.Document。
如何更改材质ui快速拨号按钮,显然它使用Fab默认值,你所能做的就是更改图标,但我还需要添加文本,例如: 如何更改材质ui快速拨号按钮,显然它使用Fab默认值,你所能做的就是更改图标,但我还需要添加文本,例如: <Fab variant="extended"> <NavigationIcon /> Actions </Fab> 抱歉来晚了,但我最近遇到了这个问题并找到了解决方案: SpeedDial 附带 FabProps 属性,使您能够修改 Fab(Fab 文档:https://mui.com/material-ui/api/fab/)。 因此,首先您应该修改 Fab 以使用 variant="extended"。然后要添加文本,请使用 icon 中的 SpeedDialIcon 属性。 所以你的组件应该看起来像这样: <SpeedDial FabProps={{ variant: "extended" }} icon={ <SpeedDialIcon icon={ <Box sx={{ display: "flex" }}> <YourIcon /> <Typography> {/* Your text */} </Typography> </Box> /> } /> 为此目的使用 SpeedDialAction <SpeedDialAction key={action.name} icon={action.icon} // here goes your icon tooltipTitle={action.name} // here goes your text tooltipOpen onClick={handleClose} /> 将鼠标悬停时您会看到 文档 实例 或使用浮动操作按钮达到您的目的 <Fab aria-label={fab.label} className={fab.className} color={fab.color} > {fab.icon} </Fab> 它的文档 实例 请告诉我它是否适合您) 我最近也遇到了类似的问题。 虽然设计人员可以轻松地在 Figma 或 w/e 中移动组件,但您依赖于 MUI 实现。 在这种情况下,您需要操纵 MuiSpeedDial-root、MuiSpeedDial-actions 和 MuiButtonBase-root 以获得所需的结果。 所以对于我的情况来说,它看起来像这样: const actions = [ { icon: ( <Box display="flex" gap={1}> <Typography fontSize={14}>{t('dashboard.selectDate')}</Typography> <EventIcon /> </Box> ), name: t('dashboard.selectDate'), onClick: () => { handleOpenDateModal(); handleClose(); } }, { icon: ( <Box display="flex" gap={1}> <Typography fontSize={14}>{t('dashboard.today')}</Typography> <CalendarTodayIcon /> </Box> ), name: t('dashboard.today'), onClick: () => { handleSetMonth(getTodayIso()); handleClose(); } }, { icon: ( <Box display="flex" gap={1}> <Typography fontSize={14}>{t('dashboard.navigation.uploadInvoice')}</Typography> <UploadFileIcon /> </Box> ), name: t('dashboard.navigation.uploadInvoice'), onClick: () => navigate(`/${ROUTING.INVOICE_UPLOAD}`) } ]; ... <StyledSpeedDial ariaLabel="SpeedDial controlled" icon={<SpeedDialIcon />} onClose={handleClose} onOpen={handleOpen} open={open} > {actions.map((action) => ( <SpeedDialAction TooltipClasses={{ tooltip: 'speed-action-tooltip-hide' }} key={action.name} icon={action.icon} tooltipTitle={action.name} onClick={action.onClick} /> ))} </StyledSpeedDial> 样式组件保存在单独的文件中: export const StyledSpeedDial = styled(SpeedDial)<SpeedDialProps>(({ theme }) => ({ position: 'absolute', bottom: 20, right: 16, zIndex: 2500, alignItems: 'end', '& .MuiSpeedDial-actions': { marginLeft: '-50px', '& .MuiButtonBase-root': { color: theme.colors.contrast, height: '40px', width: 'fit-content', alignSelf: 'flex-end', padding: '8px 16px', borderRadius: '100px', marginRight: 0, '& .MuiBox-root': { alignItems: 'center' } } } })); 不要在那些负利润上对我踢得太狠。这对我有用。我必须以这种方式覆盖高度和宽度,因为这是适应该文本的最方便的方法。 我没有找到更优雅的方法,如果你找到了,请告诉我。 附:这就是它的样子
在 STM32f407-disc1 上按下用户按钮时如何切换 LCD 背光
我对嵌入式不太熟悉,我想在按下STM32f407-disc1上的蓝色按钮时切换LCD背光(16x2),但是当我按下它片刻时,它会关闭然后再次返回。我是不是……
我有几个用户表单(不同大小取决于用户输入 - 他们选择了多少功能)。 我的问题是,我想对齐“下一步”命令按钮(以及“后退&qu...
我正在尝试使用 Kivy 创建两个按钮。每一张都附有图片。第一个将显示字符串“b1”的图像,另一个将显示字符串“b2”的图像。但并没有达到预期的效果...
如何在没有编码经验的情况下向网站添加自定义按钮? [已关闭]
我正在为个人项目开发一个网站,并希望向我的主页添加一个链接到特定页面的自定义按钮。我没有编码经验,所以我正在寻找一种简单的方法来做到这一点。 我...
我的页面上有一个带有此 XAML 的按钮: 我的页面上有一个带有此 XAML 的按钮: <Button Content="Button" HorizontalAlignment="Left" VerticalAlignment="Bottom" Width="50" Height="50" HorizontalContentAlignment="Left" BorderBrush="{x:Null}" Foreground="{x:Null}" Margin="50,0,0,0"> <Button.Style> <Style TargetType="Button"> <Setter Property="Background" Value="Green"/> <Style.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="Background" Value="Red"/> </Trigger> </Style.Triggers> </Style> </Button.Style> </Button> 当我将鼠标光标放在按钮上时,按钮的背景更改为默认的 Windows 灰色背景。有什么问题吗? 这是鼠标悬停前后的按钮图片: 之前: 之后: 要删除 MouseOver 上的默认 Button 行为,您需要修改 ControlTemplate。将 Style 定义更改为以下内容应该可以解决问题: <Style TargetType="{x:Type Button}"> <Setter Property="Background" Value="Green"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type Button}"> <Border Background="{TemplateBinding Background}" BorderBrush="Black" BorderThickness="1"> <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/> </Border> </ControlTemplate> </Setter.Value> </Setter> <Style.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="Background" Value="Red"/> </Trigger> </Style.Triggers> </Style> 编辑:虽然晚了几年,但您实际上可以将边框画笔设置在其中的边框内部。我不知道是否有人指出了这一点,但似乎并非如此...... 到目前为止,所有答案都涉及用其他东西完全替换默认按钮行为。但是,恕我直言,了解可以通过编辑 XAML 元素的现有默认模板来更改仅您关心的部分是有用且重要的。 在处理 WPF 按钮上的悬停效果的情况下,WPF Button 元素中的外观变化是由 Trigger 的默认样式中的 Button 引起的,该样式基于 IsMouseOver 属性并设置顶级的 Background 和 BorderBrush 属性控件模板中的 Border 元素。 Button 元素的背景位于 Border 元素背景下方,因此更改 Button.Background 属性不会阻止看到悬停效果。 通过一些努力,您可以使用自己的 setter 覆盖此行为,但由于您需要影响的元素位于模板中,并且无法在您自己的 XAML 中直接访问,因此该方法将很困难,而且恕我直言过于复杂。 另一种选择是使用图形作为 Content 的 Button 而不是 Background。如果您需要图形上的其他内容,可以将它们与 Grid 组合起来作为内容中的顶级对象。 但是,如果您只是想完全禁用悬停效果(而不仅仅是隐藏它),则可以使用 Visual Studio XAML 设计器: 编辑 XAML 时,选择 “设计” 选项卡。 在“设计”选项卡中,找到您要禁用该效果的按钮。 右键单击该按钮,然后选择“编辑模板/编辑副本...”。在出现的提示中选择要放置新模板资源的位置。这看起来什么也没做,但事实上,设计器将在您指定的位置添加新资源,并更改按钮元素以引用使用这些资源作为按钮模板的样式。 现在,您可以编辑该样式。最简单的方法是删除或注释掉(例如 Ctrl+E、C)<Trigger Property="IsMouseOver" Value="true">...</Trigger> 元素。当然,此时您可以对模板进行任何更改。 完成后,按钮样式将如下所示: <p:Style x:Key="FocusVisual"> <Setter Property="Control.Template"> <Setter.Value> <ControlTemplate> <Rectangle Margin="2" SnapsToDevicePixels="true" Stroke="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" StrokeThickness="1" StrokeDashArray="1 2"/> </ControlTemplate> </Setter.Value> </Setter> </p:Style> <SolidColorBrush x:Key="Button.Static.Background" Color="#FFDDDDDD"/> <SolidColorBrush x:Key="Button.Static.Border" Color="#FF707070"/> <SolidColorBrush x:Key="Button.MouseOver.Background" Color="#FFBEE6FD"/> <SolidColorBrush x:Key="Button.MouseOver.Border" Color="#FF3C7FB1"/> <SolidColorBrush x:Key="Button.Pressed.Background" Color="#FFC4E5F6"/> <SolidColorBrush x:Key="Button.Pressed.Border" Color="#FF2C628B"/> <SolidColorBrush x:Key="Button.Disabled.Background" Color="#FFF4F4F4"/> <SolidColorBrush x:Key="Button.Disabled.Border" Color="#FFADB2B5"/> <SolidColorBrush x:Key="Button.Disabled.Foreground" Color="#FF838383"/> <p:Style x:Key="ButtonStyle1" TargetType="{x:Type Button}"> <Setter Property="FocusVisualStyle" Value="{StaticResource FocusVisual}"/> <Setter Property="Background" Value="{StaticResource Button.Static.Background}"/> <Setter Property="BorderBrush" Value="{StaticResource Button.Static.Border}"/> <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/> <Setter Property="BorderThickness" Value="1"/> <Setter Property="HorizontalContentAlignment" Value="Center"/> <Setter Property="VerticalContentAlignment" Value="Center"/> <Setter Property="Padding" Value="1"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type Button}"> <Border x:Name="border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="true"> <ContentPresenter x:Name="contentPresenter" Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/> </Border> <ControlTemplate.Triggers> <Trigger Property="IsDefaulted" Value="true"> <Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/> </Trigger> <!--<Trigger Property="IsMouseOver" Value="true"> <Setter Property="Background" TargetName="border" Value="{StaticResource Button.MouseOver.Background}"/> <Setter Property="BorderBrush" TargetName="border" Value="{StaticResource Button.MouseOver.Border}"/> </Trigger>--> <Trigger Property="IsPressed" Value="true"> <Setter Property="Background" TargetName="border" Value="{StaticResource Button.Pressed.Background}"/> <Setter Property="BorderBrush" TargetName="border" Value="{StaticResource Button.Pressed.Border}"/> </Trigger> <Trigger Property="IsEnabled" Value="false"> <Setter Property="Background" TargetName="border" Value="{StaticResource Button.Disabled.Background}"/> <Setter Property="BorderBrush" TargetName="border" Value="{StaticResource Button.Disabled.Border}"/> <Setter Property="TextElement.Foreground" TargetName="contentPresenter" Value="{StaticResource Button.Disabled.Foreground}"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </p:Style> (注意:您可以在实际代码中省略 p: XML 命名空间限定…我在这里提供它们只是因为 Stack Overflow XML 代码格式化程序会被没有 XML 完全限定名称的 <Style/> 元素混淆命名空间。) 如果您想对其他按钮应用相同的样式,只需右键单击它们并选择“编辑模板/应用资源”,然后选择刚刚为第一个按钮添加的样式。您甚至可以使用将默认样式应用于 XAML 中的元素的常规技术,将该样式设置为所有按钮的默认样式。 这对我来说效果很好。 按钮样式 <Style x:Key="TransparentStyle" TargetType="{x:Type Button}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="Button"> <Border> <Border.Style> <Style TargetType="{x:Type Border}"> <Style.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="Background" Value="DarkGoldenrod"/> </Trigger> </Style.Triggers> </Style> </Border.Style> <Grid Background="Transparent"> <ContentPresenter></ContentPresenter> </Grid> </Border> </ControlTemplate> </Setter.Value> </Setter> </Style> 按钮 <Button Style="{StaticResource TransparentStyle}" VerticalAlignment="Top" HorizontalAlignment="Right" Width="25" Height="25" Command="{Binding CloseWindow}"> <Button.Content > <Grid Margin="0 0 0 0"> <Path Data="M0,7 L10,17 M0,17 L10,7" Stroke="Blue" StrokeThickness="2" HorizontalAlignment="Center" Stretch="None" /> </Grid> </Button.Content> </Button> 注释 该按钮显示一个蓝色的小十字,很像用于关闭窗口的十字。 通过将网格的背景设置为“透明”,它会添加一个命中测试,这意味着如果鼠标位于按钮上的任何位置,那么它将起作用。省略此标签,只有当鼠标位于图标中的一条矢量线上方时,按钮才会亮起(这不太有用)。 只想分享我一直在使用的 ResourceDictionary 中的按钮样式。 您可以在样式触发器上自由更改 onHover 背景。 “ColorAnimation To = *您想要的背景(即#FFCEF7A0)”。按钮 BG 也会在 mouseOver 状态后自动恢复到原来的 BG。您甚至可以设置过渡的速度。 资源词典 <Style x:Key="Flat_Button" TargetType="{x:Type Button}"> <Setter Property="Width" Value="100"/> <Setter Property="Height" Value="50"/> <Setter Property="Margin" Value="2"/> <Setter Property="FontFamily" Value="Arial Narrow"/> <Setter Property="FontSize" Value="12px"/> <Setter Property="FontWeight" Value="Bold"/> <Setter Property="Cursor" Value="Hand"/> <Setter Property="Foreground"> <Setter.Value> <SolidColorBrush Opacity="1" Color="White"/> </Setter.Value> </Setter> <Setter Property="Background" > <Setter.Value> <SolidColorBrush Opacity="1" Color="#28C2FF" /> </Setter.Value> </Setter> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type Button}"> <Border x:Name="border" SnapsToDevicePixels="True" BorderThickness="1" Padding="4,2" BorderBrush="Gray" CornerRadius="3" Background="{TemplateBinding Background}"> <Grid> <ContentPresenter Margin="2" HorizontalAlignment="Center" VerticalAlignment="Center" RecognizesAccessKey="True" /> </Grid> </Border> </ControlTemplate> </Setter.Value> </Setter> <Style.Triggers> <Trigger Property="IsMouseOver" Value="true"> <Trigger.EnterActions> <BeginStoryboard> <Storyboard> <ColorAnimation To="#D2F898" Storyboard.TargetProperty="(Control.Background).(SolidColorBrush.Color)" FillBehavior="HoldEnd" Duration="0:0:0.25" AutoReverse="False" RepeatBehavior="1x"/> </Storyboard> </BeginStoryboard> </Trigger.EnterActions> <Trigger.ExitActions> <BeginStoryboard> <Storyboard> <ColorAnimation Storyboard.TargetProperty="(Control.Background).(SolidColorBrush.Color)" FillBehavior="HoldEnd" Duration="0:0:0.25" AutoReverse="False" RepeatBehavior="1x"/> </Storyboard> </BeginStoryboard> </Trigger.ExitActions> </Trigger> </Style.Triggers> </Style> 您所要做的就是调用样式。 实施示例 <Button Style="{StaticResource Flat_Button}" Height="Auto"Width="Auto"> <StackPanel> <TextBlock Text="SAVE" FontFamily="Arial" FontSize="10.667"/> </StackPanel> </Button> 稍微困难一点的答案,使用ControlTemplate并具有动画效果 (改编自https://learn.microsoft.com/en-us/dotnet/framework/wpf/controls/customizing-the-appearance-of-an-existing-control) 在资源字典中为按钮定义一个控件模板,如下所示: <ControlTemplate TargetType="Button" x:Key="testButtonTemplate2"> <Border Name="RootElement"> <Border.Background> <SolidColorBrush x:Name="BorderBrush" Color="Black"/> </Border.Background> <Grid Margin="4" > <Grid.Background> <SolidColorBrush x:Name="ButtonBackground" Color="Aquamarine"/> </Grid.Background> <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Margin="4,5,4,4"/> </Grid> <VisualStateManager.VisualStateGroups> <VisualStateGroup x:Name="CommonStates"> <VisualState x:Name="Normal"/> <VisualState x:Name="MouseOver"> <Storyboard> <ColorAnimation Storyboard.TargetName="ButtonBackground" Storyboard.TargetProperty="Color" To="Red"/> </Storyboard> </VisualState> <VisualState x:Name="Pressed"> <Storyboard> <ColorAnimation Storyboard.TargetName="ButtonBackground" Storyboard.TargetProperty="Color" To="Red"/> </Storyboard> </VisualState> </VisualStateGroup> </VisualStateManager.VisualStateGroups> </Border> </ControlTemplate> 在您的 XAML 中,您可以将上面的模板用于您的按钮,如下所示: 定义您的按钮 <Button Template="{StaticResource testButtonTemplate2}" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="White">My button</Button> 希望有帮助 用于更改按钮样式 第一:定义资源样式 <Window.Resources> <Style x:Key="OvergroundIn" TargetType="Button"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="Button"> <Grid Background="#FF16832F"> <ContentPresenter TextBlock.Foreground="White" TextBlock.TextAlignment="Center" Margin="0,8,0,0" ></ContentPresenter> </Grid> </ControlTemplate> </Setter.Value> </Setter> <Style.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="Button"> <Grid Background="#FF06731F"> <ContentPresenter TextBlock.Foreground="White" TextBlock.TextAlignment="Center" Margin="0,8,0,0" ></ContentPresenter> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Trigger> </Style.Triggers> </Style> <Style x:Key="OvergroundOut" TargetType="Button"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="Button"> <Grid Background="#FFF35E5E"> <ContentPresenter TextBlock.Foreground="White" TextBlock.TextAlignment="Center" Margin="0,8,0,0" ></ContentPresenter> </Grid> </ControlTemplate> </Setter.Value> </Setter> <Style.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="Button"> <Grid Background="#FFE34E4E"> <ContentPresenter TextBlock.Foreground="White" TextBlock.TextAlignment="Center" Margin="0,8,0,0" ></ContentPresenter> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Trigger> </Style.Triggers> </Style> </Window.Resources> 第二个定义按钮代码 <Border Grid.Column="2" BorderBrush="LightGray" BorderThickness="2" CornerRadius="3" Margin="2,2,2,2" > <Button Name="btnFichar" BorderThickness="0" Click="BtnFichar_Click"> <Button.Content> <Grid> <TextBlock Margin="0,7,0,7" TextAlignment="Center">Fichar</TextBlock> </Grid> </Button.Content> </Button> </Border> 第三个代码 public void ShowStatus() { switch (((MainDto)this.DataContext).State) { case State.IN: this.btnFichar.BorderBrush = new SolidColorBrush(Color.FromRgb(243, 94, 94)); this.btnFichar.Style = Resources["OvergroundIn"] as Style; this.btnFichar.Content = "Fichar Salida"; break; case State.OUT: this.btnFichar.BorderBrush = new SolidColorBrush(Color.FromRgb(76, 106, 83)); this.btnFichar.Style = Resources["OvergroundOut"] as Style; this.btnFichar.Content = "Fichar Entrada"; break; } }
在 Powerapps 中,我有一个带有一些文本的按钮。我还想添加一个文本标签(这样可以使用较小的字体)。如何在按钮上添加文本标签并使其可见,但用户可以...
我遵循了 Nettuts 上的教程,了解如何向 TinyMCE 添加自定义按钮 (http://net.tutsplus.com/tutorials/wordpress/wordpress-shortcodes-the-right-way/) 它工作得很好,但我想...
我正在学习JS,所以我对它很陌生并且自学。当我单击下拉按钮时,我的按钮不会保持活动状态并打开半秒然后再次关闭。有人可以吗...