小编Mat*_*hew的帖子

.NET 4.5的奇怪TextBox问题 - 没有'.' 允许

我有一个与.NET 4.5相关的非常奇怪的问题.今天用户告诉我,他无法将浮动数字输入文本框(如"2.75").文本框不接受".",这是我文化中浮动数字的正确"分隔符"("de-CH").

我用.NET 4.5编译软件之后发生了这个问题(以前它是4.0).

我可以重现这个错误.应用程序中的所有其他文本框都正常工作.文本框是常规WPF控件.没有花哨的用户定义控件或类似的东西.

再说一次:文本框不接受'.' 作为一个角色.它似乎完全忽略了它.每个其他角色(甚至像"@"这样的特殊角色)都很好.在.NET 4.0上重新编译应用程序解决了这个问题.

文本框的xaml是:

<TextBox x:Name="_Hours" Grid.Row="9" Grid.Column="1" VerticalAlignment="Center" 
TextAlignment="Center" FontWeight="Bold" FontSize="16" Text="{Binding ProcessHours, 
Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" TextChanged="Hours_TextChanged" />
Run Code Online (Sandbox Code Playgroud)

ProcessHours的定义:

partial class ProjectTask
{
    ...
    public double TotalProcessHours { get { return ProjectBookings.Sum(b => 
b.ProcessHours); }}
    ...
}
Run Code Online (Sandbox Code Playgroud)

Hours_TextChanged是:

private void Hours_TextChanged(object sender, TextChangedEventArgs e)
{
    UpdateHoursValidity();
}
Run Code Online (Sandbox Code Playgroud)

UpdateHoursValidity()只是淡化实际文本框下面的文本消息.它没有以任何方式与"损坏"文本框连接:

private void UpdateHoursValidity()
{
    string key = IsInvalidHoursWarning ? "ShowWarningStoryboard" : 
"HideWarningStoryboard";
    var storyboard = FindResource(key) as Storyboard;
    if(storyboard != null) storyboard.Begin();
}
Run Code Online (Sandbox Code Playgroud)

所以这里也没什么特别的.

到目前为止我尝试了: - 删除文本框,重新编译,再次添加文本框,重新编译 …

.net c# wpf textbox

8
推荐指数
1
解决办法
1024
查看次数

gsapi_init_with_args 设置为:-100

我正在尝试使用 Ghostscript.Net 构建 PostScript 到 PDF 转换器。GetArgs 返回的参数是我通常用来调用 gswin32c.exe 的参数,它们工作得很好。

但每次我调用 Process 时,都会收到一条错误消息“调用‘gsapi_init_with_args’时发生错误:-100”。谷歌搜索该错误没有出现任何结果,所以我想我可以在这里问。

使用 Ghostscript.net 直接调用 .dll 时是否需要考虑不同的参数?或者我在其他地方犯了错误?

这是我的班级:

public class PdfConverter
{
    #region Private Fields
    private List<GhostscriptVersionInfo> _Versions = GhostscriptVersionInfo.GetInstalledVersions(GhostscriptLicense.GPL | GhostscriptLicense.AFPL | GhostscriptLicense.Artifex);
    #endregion


    #region Private Properties
    private GhostscriptVersionInfo Version { get; set; }
    #endregion


    #region Construction
    public PdfConverter()
    {
        Version = GhostscriptVersionInfo.GetLastInstalledVersion(); 
    }
    #endregion


    #region Public Members
    public bool ConvertToPdf(DirectoryInfo dir)
    {
        var d = dir;
        if(!d.Exists)
            return false;

        var postScriptFiles = d.GetFiles("*.ps");
        var pdfFiles        = postScriptFiles.Select(psf …
Run Code Online (Sandbox Code Playgroud)

c# ghostscript.net

2
推荐指数
1
解决办法
5471
查看次数

如何将正则表达式分成精确的单词?

关于C#中的正则表达式,我需要一些帮助

我有以下字符串

"[[Sender.Name]]\r[[Sender.AdditionalInfo]]\r[[Sender.Street]]\r[[Sender.ZipCode]] [[Sender.Location]]\r[[Sender.Country]]\r"
Run Code Online (Sandbox Code Playgroud)

字符串也可以包含空格,理论上也可以包含任何其他字符.所以我真的需要匹配[[words]].

我需要的是像这样的文本数组

"[[Sender.Name]]",
"[[Sender.AdditionalInfo]]",
"[[Sender.Street]]",
// ... And so on. 
Run Code Online (Sandbox Code Playgroud)

我很确定这完全可以用于:

var stringArray = Regex.Split(line, @"\[\[+\]\]")
Run Code Online (Sandbox Code Playgroud)

我太傻了,无法为Regex.Split()调用找到正确的Regex.

这里的任何人可以告诉我在我的情况下使用正确的正则表达式吗?

正如你所知道的那样,我对RegEx没有经验:)

c# regex

0
推荐指数
1
解决办法
181
查看次数

标签 统计

c# ×3

.net ×1

ghostscript.net ×1

regex ×1

textbox ×1

wpf ×1