RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-264042

Arasfon's questions

Martin Hope
Arasfon
Asked: 2020-09-01 01:42:26 +0000 UTC

将 IsEnabled 设置为 false 后阻止 MouseLeave 按钮上的动画

  • 0

我有一个我自己风格的按钮:

<ControlTemplate x:Key="Button_Standard" TargetType="{x:Type Button}">
    <ControlTemplate.Resources>

        <Storyboard x:Key="Mouse_Enter">
            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Panel.Background).(GradientBrush.GradientStops)[0].(GradientStop.Color)" Storyboard.TargetName="border">
                <EasingColorKeyFrame KeyTime="0:0:0.2" Value="#FF2CA58D"/>
            </ColorAnimationUsingKeyFrames>
            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Panel.Background).(GradientBrush.GradientStops)[1].(GradientStop.Color)" Storyboard.TargetName="border">
                <EasingColorKeyFrame KeyTime="0:0:0.2" Value="#FF397C6E"/>
            </ColorAnimationUsingKeyFrames>
        </Storyboard>
        <Storyboard x:Key="Mouse_Leave">
            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Panel.Background).(GradientBrush.GradientStops)[1].(GradientStop.Color)" Storyboard.TargetName="border">
                <EasingColorKeyFrame KeyTime="0:0:0.2" Value="#FF2CA58D"/>
            </ColorAnimationUsingKeyFrames>
            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(TextElement.Foreground).(SolidColorBrush.Color)" Storyboard.TargetName="textBlock">
                <EasingColorKeyFrame KeyTime="0:0:0.2" Value="#FFFBF5F3"/>
            </ColorAnimationUsingKeyFrames>
        </Storyboard>

        <Storyboard x:Key="Mouse_LeftButton_Down">
            <ThicknessAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderThickness)" Storyboard.TargetName="border">
                <EasingThicknessKeyFrame KeyTime="0:0:0.03" Value="2"/>
            </ThicknessAnimationUsingKeyFrames>
            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderBrush).(SolidColorBrush.Color)" Storyboard.TargetName="border">
                <EasingColorKeyFrame KeyTime="0:0:0.03" Value="#FF1C473F"/>
            </ColorAnimationUsingKeyFrames>
        </Storyboard>
        <Storyboard x:Key="Mouse_LeftButton_Up">
            <ThicknessAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderThickness)" Storyboard.TargetName="border">
                <EasingThicknessKeyFrame KeyTime="0:0:0.05" Value="0"/>
            </ThicknessAnimationUsingKeyFrames>
            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderBrush).(SolidColorBrush.Color)" Storyboard.TargetName="border">
                <EasingColorKeyFrame KeyTime="0:0:0.05" Value="#FF1C473F"/>
            </ColorAnimationUsingKeyFrames>
        </Storyboard>

    </ControlTemplate.Resources>

    <Border x:Name="border" CornerRadius="7.5" BorderBrush="Black">
        <Border.Background>
            <RadialGradientBrush>
                <GradientStop Color="#FF2CA58D" Offset="0"/>
                <GradientStop Color="#FF2CA58D" Offset="1"/>
            </RadialGradientBrush>
        </Border.Background>

        <Border.Effect>
            <DropShadowEffect/>
        </Border.Effect>

        <TextBlock x:Name="textBlock" TextWrapping="Wrap" Text="{TemplateBinding Content}" TextAlignment="Center" VerticalAlignment="Center" Foreground="White"/>
    </Border>

    <ControlTemplate.Triggers>
        <Trigger Property="IsEnabled" Value="False">
            <Setter Property="Background" TargetName="border">
                <Setter.Value>
                    <RadialGradientBrush>
                        <GradientStop Color="#FF474747" Offset="0"/>
                        <GradientStop Color="#FF474747" Offset="1"/>
                    </RadialGradientBrush>
                </Setter.Value>
            </Setter>
            <Setter Property="Foreground" TargetName="textBlock" Value="#FF959595"/>
        </Trigger>
        <EventTrigger RoutedEvent="UIElement.PreviewMouseLeftButtonUp">
            <BeginStoryboard x:Name="Mouse_LeftButton_Up_BeginStoryboard" Storyboard="{StaticResource Mouse_LeftButton_Up}"/>
        </EventTrigger>
        <EventTrigger RoutedEvent="UIElement.MouseEnter">
            <BeginStoryboard x:Name="Mouse_Enter_BeginStoryboard" Storyboard="{StaticResource Mouse_Enter}"/>
        </EventTrigger>
        <EventTrigger RoutedEvent="UIElement.MouseLeave">
            <BeginStoryboard x:Name="Mouse_Leave_BeginStoryboard" Storyboard="{StaticResource Mouse_Leave}"/>
        </EventTrigger>
        <EventTrigger RoutedEvent="UIElement.PreviewMouseLeftButtonDown">
            <BeginStoryboard x:Name="Mouse_LeftButton_Down_BeginStoryboard" Storyboard="{StaticResource Mouse_LeftButton_Down}"/>
        </EventTrigger>
    </ControlTemplate.Triggers>
</ControlTemplate>

当我将它设置为 IsEnabled = false 并且光标在按钮上时,而不是仅仅将颜色更改为:

正常禁用按钮的图片

另外,触发了 MouseLeave 触发器上的动画,得到如下的乱码:

按钮异常禁用图片

普通按钮:

普通非禁用按钮

现在我需要以某种方式阻止动画,因为在动画后等待 300 毫秒不是很好,因为按钮的 IsEnabled 取决于 TextBox 中文本的存在,并且也与手鼓一起跳舞。

将 IsEnabled 分配给按钮:

btn_next.IsEnabled = tb.Text != "";
c#
  • 1 个回答
  • 10 Views
Martin Hope
Arasfon
Asked: 2020-03-06 03:17:35 +0000 UTC

解析dll并将它们添加到程序中

  • 1

有一个程序应该执行一个非常复杂的功能(请帮助实现它):

有一个dll。它包含一个具有以下结构的文本文件:

{
    MainWindow="MainWindow.xaml"
    Code="MainWindow.xaml.cs"
    Pattern=WPFStandart
}

我可以解析它,但是我需要以某种方式使用该dll中描述的逻辑的窗口,并且该dll必须在项目文件夹中,该dll的名称总是不同(我知道如何识别它),而您无法通过 Visual Studio 添加依赖项,因为名称和内容总是不同(开发人员不同,或者他们的团队不同)。

所有信息最初都存储在 pkginfo.txt 文件中的 dll 中,该文件位于项目的根目录(在组装期间编译为嵌入式资源),希望在没有本地复制的情况下打开窗口(“解压缩 dll” )。

更新 我找到了一种方法

[DllImport("name.dll")]
public static extern void VoidInDll();

但我有用户设置的打开的 DLL 的名称,并且DllImport只接受常量。期待选项...

c#
  • 1 个回答
  • 10 Views
Martin Hope
Arasfon
Asked: 2020-02-25 18:41:51 +0000 UTC

读入 int[] 数组,在一行中最多为零,由空格分隔

  • 0

大家好!有问题。要解决其中一项任务,您需要将数字读入整数数组:

输入数字直到输入 0。确定其中有多少是偶数。

如果在多行中输入了数字,则可以通过循环进行while,但不幸的是,在这种情况下我不知道该怎么做。

请帮我实施。

c#
  • 1 个回答
  • 10 Views
Martin Hope
Arasfon
Asked: 2020-02-04 23:54:33 +0000 UTC

将数字除以逗号分隔的数字

  • 0

我写了一个相当不错的快速代码:

using System;
using System.Globalization;

namespace OneProgram
{
    class Program
    {
        static void Main(string[] args)
        {
            double num = double.Parse(Console.ReadLine());
            Console.WriteLine(num.ToString("N0", new CultureInfo("en-us")));
        }
    }
}

一切都会好起来的,但是如果你输入一个大于 UInt64 的数字(在条件下,数字不大于 10 ^ 100),那么结果是 不是你需要的

是否有可能在没有循环的情况下克服它等?

这是整个任务: http: //informatics.mccme.ru/moodle/mod/statements/view.php ?chapterid=1599

c#
  • 2 个回答
  • 10 Views
Martin Hope
Arasfon
Asked: 2020-01-12 23:38:33 +0000 UTC

WPF中的拖放

  • 1

如何对文件进行拖放?我在谷歌上搜索,我没有找到完整的说明,有一些代码和说明的片段。

将文件拖入矩形时,需要获取其名称和扩展名。

如果您不想,您可以不完整地编写代码,但至少要写出从什么开始以及如何读取结果文件的名称。

c#
  • 1 个回答
  • 10 Views
Martin Hope
Arasfon
Asked: 2020-12-28 00:54:32 +0000 UTC

读取数组并抛出 System.ArgumentException

  • 0

有一个奥林匹克任务:

在国家杜马的选举中,N 个政党被列入选票。用于读取选票信息的电子扫描仪以下列格式传输有关每张选票的信息:如果选票的相应方框中有标记,则扫描仪传输 +(加号),否则传输 -(减号)。因此,它传输 N 个字符的序列 - 加号和减号。

如果标记恰好在一个单元格中,则该选票被视为有效。无效选票不计入选举结果计算。

一个政党只有在收到至少 7% 的有效选票后才能进入国家杜马。

必须显示前往国家杜马的所有政党的号码(按照它们在选票中列出的顺序)。

规范 输入 输入的第一行包含两个用空格分隔的数字:N - 参与方数量和 M - 选票数量。这两个数字都是自然数,N <= 200,M <= 100,000。

接下来的 M 行包含从选票中获得的信息。每行是一个由 N 个字符 + 或 - 组成的序列(无空格)。

保证至少有一张有效选票。

输出 按升序显示进入杜马的各方人数,以空格分隔。如果没有任何一方进入杜马,就不需要撤回任何东西。

我所有的代码:

        static void Main(string[] args)
    {
        string[] temp = Console.ReadLine().Split(' ');
        string[] votes;
        int count = 0;
        int consignments = int.Parse(temp[0]);
        int bulletins = int.Parse(temp[1]);
        int sum1;
        int sum2;
        int sum3;
        temp = null;

        for (int c = 0; c < consignments; c++)
        {
            votes = Console.ReadLine().Split();
            foreach (Match m in Regex.Matches(votes, "+")) count++;
            if (count != 1)
            {
                bulletins--;
                count = 0;
                break;
            }
            else
            {
                Console.WriteLine("{0} {1} {2}", votes, consignments, bulletins);
            }
        }
    }

有一个 votes 变量,应该读入一个字符串数组( +--, or -+-, or ),但是没有读进去,而且我在 Google 中也没有找到正常的信息...-+---

string[] votes;
votes = Console.ReadLine();

另外,在代码之后:

foreach (Match m in Regex.Matches(votes.ToString(), "+")) count++;

出来: System.ArgumentException

错误在哪里?

c#
  • 1 个回答
  • 10 Views
Martin Hope
Arasfon
Asked: 2020-12-17 03:27:33 +0000 UTC

在浏览器中打开链接时如何运行我的程序?

  • 12

有一个程序,你需要为它做一个链接,例如,像 Steam: steam://open/friends。它应该在浏览器中打开并启动我需要的窗口;请告诉我它是如何完成的。

c#
  • 1 个回答
  • 10 Views
Martin Hope
Arasfon
Asked: 2020-11-25 03:12:40 +0000 UTC

在字符串中查找数字

  • 0

我解决了这个问题:

在数学的 USE 中,决定不给出使用大于 5 的数字的问题,例如 6、10 等。(他们现在被认为是困难的,不需要学习)。输入方程。需要确定是否可以在考试中给出(任何非数字字符以及自然数都可以出现在等式中)。

我的决定:

string @int = string.Empty;

foreach (char ch in s.ToCharArray())
    if (char.IsDigit(ch))
    {
        @int += ch.ToString();
        int result = int.Parse(@int);
        if (result > 5)
            {
            ege = false;
            }
        @int = string.Empty;
    }

此代码从字符串中读取一个数字(一位数)并检查它是否大于 5。我该如何修复它,以便它可以计算由任何字符分隔的任何数字,两位数和五位数字(等)?

c#
  • 3 个回答
  • 10 Views
Martin Hope
Arasfon
Asked: 2020-09-28 02:44:17 +0000 UTC

创建自动更新

  • 1

我尝试通过 zip 存档创建程序的自动更新。为此,我使用 DotNetZip (Ionic.Zip.dll)。大约自动更新是这样发生的:从站点(版本号所在的站点)下载测试文档,如果版本大于其中的版本,则读取该Preferences.Settings.Default.ver版本 Preferences.Settings.Default.ver = ver:

WebClient wc = new WebClient();
                string url = "http://f0160057.xsph.ru/osiddev/app/version.txt";
                string file = "version.txt";
                wc.DownloadFile(url, file);

                StreamReader sr = new StreamReader("version.txt");
            ver = int.Parse(sr.ReadLine());

存档 (update.zip) 已下载并启动DDctD_UpTW.exe(主 exe 在之后关闭Process...Kill();:

ver = int.Parse(sr.ReadLine());
if (Properties.Settings.Default.ver < ver)
                {
                    MessageBox.Show("New version available");
                    wc.DownloadFileAsync(new Uri(@"http://f0160057.xsph.ru/osiddev/app/update.zip"), "update.zip");
                    wc.DownloadFileCompleted += new AsyncCompletedEventHandler(download_Completed);

                }
                else
                {
                    MessageBox.Show("You have newest version");
                    this.Hide();
                    Window login = new Login();
                    login.ShowDialog();
                    this.Close();
                }
    private void download_Completed(object sender, AsyncCompletedEventArgs e)
    {
        ver = ver + 1;
        Properties.Settings.Default.ver = ver;
        Process.Start("DDctD_UpTW.exe");
        Process.GetCurrentProcess().Kill();
    }

在DDctD_UpTW.exe解压缩存档并替换文件:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Ionic.Zip;
using System.Diagnostics;

namespace DDctD_UpTW
{
    class Program
    {
        static void Main(string[] args)
        {
            Unzip();
        }

        public static void Unzip()
        {
            try
            {
                using (ZipFile zip = ZipFile.Read("update.zip"))
                {
                    zip.ExtractAll("/", ExtractExistingFileAction.OverwriteSilently);
                }
            }
            catch
            {

            }
            Process.Start("MainExe.exe");
            Environment.Exit(0);
        }
    }
}

但主要问题: 解压缩并运行主 exe 后,它再次写入"New update available". 如何解决?

c#
  • 1 个回答
  • 10 Views
Martin Hope
Arasfon
Asked: 2020-09-23 02:18:27 +0000 UTC

从按钮中获取文本,而不是从样式中获取

  • 1

按钮有一个样式:

<ControlTemplate x:Key="Button" TargetType="{x:Type Button}">
    <Grid>
        <Rectangle Fill="#FF0DFFAA" HorizontalAlignment="Stretch" Height="Auto" Stroke="#FF1E0CE8" VerticalAlignment="Stretch" Width="Auto" Margin="2,1"/>
        <TextBlock HorizontalAlignment="Left" Margin="2,4.5,0,2.5" TextWrapping="Wrap" Text="Sample Text" VerticalAlignment="Stretch" Width="96" TextAlignment="Center"/>
    </Grid>
</ControlTemplate>

它有TextBlock,其中有文字。文本应该从Content按钮本身的参数配置,而不是样式,因为 对于每个按钮的书写风格 - 与手鼓一起跳舞。如何实施?有很多按钮。

c#
  • 1 个回答
  • 10 Views
Martin Hope
Arasfon
Asked: 2020-09-17 02:08:27 +0000 UTC

如何使 ListBox 中的 SelectedItem 返回值,而不是 System.Windows.Collections ...?

  • 0

在一个窗口中,当单击按钮时,从 ListBox ( lb1.SelectedItem.ToString()) 中获取值并写入Properties.Settings...ItemS. 当另一个窗口启动时,从标签中获取值Properties.Settings...ItemS并将其写入标签,但该值随后显示为System.Windows.Collections...。如何使用文本代替System.Windows.Collections...?

//Это код получения выделенного текста
Properties.Settings.Default.ItemS = lb1.SelectedItem.ToString();
Properties.Settings.Default.Save();

//Это код записи полученного текста в label
PrevSec.Content = Properties.Settings.Default.ItemS;
c#
  • 1 个回答
  • 10 Views
Martin Hope
Arasfon
Asked: 2020-09-15 15:49:02 +0000 UTC

将图像插入按钮时出错

  • 0

将图像添加到按钮后,开始出现以下错误: 错误本身

7号线(及周边)

public MainPlatform()
{
    InitializeComponent();
}

怎么修?


按钮及其属性:

<Window x:Class="-----_alpha_wpf.MainPlatform"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Background="White" Height="720" Width="1280" WindowStartupLocation="CenterScreen" WindowState="Maximized" MinWidth="1280" MinHeight="720" Title="----">
<Grid>
    <Button Content="" HorizontalAlignment="Left" Margin="10,604,0,0" VerticalAlignment="Top" Width="75" Height="76" Foreground="{x:Null}" BorderBrush="#FF006600">
        <Button.Background>
            <ImageBrush ImageSource="pack://siteoforigin:,,,/Resources/main_icon_alpha.jpg" Stretch="Uniform"/>
        </Button.Background>
    </Button>
</Grid>

在此处输入图像描述

c#
  • 1 个回答
  • 10 Views
Martin Hope
Arasfon
Asked: 2020-09-15 14:08:04 +0000 UTC

第一个事件

  • 2

有必要在程序开始时进行检查Properties.Settings...Setting = 1;。但是,如果您将代码输入Window_Activated_1或输入Window_Loaded_1表单,它会出现一秒钟,同时另一个代码会启动。在加载第二个窗口之前,必须不显示第一个窗口。但第一个也很重要。在玩了Visibility这个窗口之后,它通常不再出现并加载任何东西。

c#
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5