小编Mat*_*att的帖子

如何删除WPF标签中文本的边距?

我试图用标签制作一个小虚拟键盘.以下是我在XAML中的键盘(但只有3个键):

<StackPanel Orientation="Vertical">
    <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
        <Border BorderThickness="1" BorderBrush="DarkGray">
            <Label Content="A" FontSize="12" MouseDown="KeyButton_Click" />
        </Border>
        <Border BorderThickness="1" BorderBrush="DarkGray">
            <Label Content="B" FontSize="12" MouseDown="KeyButton_Click" />
        </Border>
    </StackPanel>
    <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
        <Border BorderThickness="1" BorderBrush="DarkGray">
            <Label Content="C" FontSize="12" MouseDown="KeyButton_Click" />
        </Border>
    </StackPanel>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

问题在于标签中的文本周围有太多空间,导致键盘比需要的大得多.如果我手动设置标签的高度和宽度,那将(1)不考虑字体的差异,(2)将剪切部分字母而不是顶部和左边距.有没有其他方法可以将这些边距缩小到与文本本身大小相同的大小?

.net c# wpf user-interface label

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

如何在Main()方法之前在C#中运行静态初始化方法?

给定一个带有初始化方法的静态类:

public static class Foo
{
    // Class members...

    internal static init()
    {
        // Do some initialization...
    }
}
Run Code Online (Sandbox Code Playgroud)

如何确保之前运行初始化程序Main()

我能想到的最好的是将其添加到Foo:

    private class Initializer
    {
        private static bool isDone = false;
        public Initializer()
        {
            if (!isDone)
            {
                init();
                isDone = true;
            }
        }
    }
    private static readonly Initializer initializer = new Initializer();
Run Code Online (Sandbox Code Playgroud)

这会有用还是有一些不可预见的警告?还有更好的方法吗?

.net c# static-methods static-classes static-initialization

15
推荐指数
4
解决办法
2万
查看次数

像GCC这样的C/C++编译器通常会以2的恒定幂来优化模数吗?

假设我有类似的东西:

#define SIZE 32

/* ... */

unsigned x;

/* ... */

x %= SIZE;
Run Code Online (Sandbox Code Playgroud)

将在x % 32通常被减少到x & 31由最C/C++编译器,如GCC?

gcc constants modulo compile-time-constant compiler-optimization

15
推荐指数
1
解决办法
3161
查看次数

在哪里可以下载源代码到GNU C++标准库?

我在http://ftp.gnu.org/gnu/glibc/下载了GNU标准C库(glibc)源代码.我在哪里可以找到他们的C++库的类似下载?

我已经google了一下,似乎无法找到它.

我需要它的唯一原因是我想看看它是如何实现的.所以请不要给我链接到二进制文件或只是头文件,因为它是我正在寻找的实现源文件.

c++ stl gnu

13
推荐指数
1
解决办法
9436
查看次数

如何使用CSS在元素之后但不在元素之前插入换行符?

例如:

HTML:

The quick brown fox <span class="break">{BREAK}</span> jumps over the lazy dog.
Run Code Online (Sandbox Code Playgroud)

我希望这个显示:

快速棕色狐狸{BREAK}

跳过懒狗.

我看了看display房子,但display:inline;没有破坏任何地方,并display:block在两边都打破了.

我也查看了:after伪类,但.break:after{content:"\000A";}最终渲染为空格而不是换行符.

html css newline pseudo-class linefeed

13
推荐指数
1
解决办法
3万
查看次数

如何将标准输入重定向到Windows命令行中的文件?

在Unix上我会做类似的事情:

cat > file.txt
Run Code Online (Sandbox Code Playgroud)

如何在Windows命令提示符或批处理文件中执行此操作?

编辑:基本上,我正在寻找cat没有参数的功能(它从stdin读取并将其吐回到stdout).

stdin cmd batch-file cat

12
推荐指数
3
解决办法
2万
查看次数

如何在硬件级别上实现轮班?

当转换的数量未知时,如何在硬件级别实现位移?

我无法想象你可以转换的每个数字都会有一个单独的电路(这将是64位机器上的64个移位电路),我也无法想象这将是一个移位循环(这将是在64位机器上最多需要64个换档周期.这是两者之间的某种妥协,还是有一些聪明的伎俩?

cpu processor circuit bit-shift alu

12
推荐指数
1
解决办法
6930
查看次数

12
推荐指数
1
解决办法
298
查看次数

在C#中,为什么接口实现必须明确地实现另一个方法版本?

举个例子:

public interface IFoo
{
    IFoo Bar();
}

public class Foo : IFoo
{
    public Foo Bar()
    {
        //...
    }

    IFoo IFoo.Bar() { return Bar(); } //Why is this necessary?
}
Run Code Online (Sandbox Code Playgroud)

为什么IFoo Bar()即使Foo转换为IFoo没有强制转换,隐式实现也是必要的?

.net c# interface explicit-implementation

12
推荐指数
3
解决办法
324
查看次数

如何在Makefile中出错后清理?

foobar 即使失败也可以创建输出文件,所以在这种情况下我需要删除它.

我可以做这个:

foo: bar baz
        foobar $^ -o $@ || (rm -f $@ && exit 1)
Run Code Online (Sandbox Code Playgroud)

但是这不会传播返回的相同退出代码foobar(然后由其输出make).有没有办法在Makefile中捕获错误而不是在shell中?

makefile gnu-make

12
推荐指数
2
解决办法
4553
查看次数