C# 在文本框中键入文本时,保持背景不变

C# 在文本框中键入文本时,保持背景不变,c#,winforms,textbox,C#,Winforms,Textbox,我正在编写一个程序,一开始需要一定数量的文本行,为此我使用了TextBox。为了使程序看起来更漂亮,我在表单上放了一个背景图像。现在我不希望TextBox在图像上放置一个大的白色块,因此我使TextBox具有透明的背景。但问题是:一旦我开始将文本放入文本框,包含文本的行将恢复为我不想要的白色背景。那么我怎样才能阻止我的程序这么做呢 我还不能发布图片,所以我只使用链接: 此图像显示了我拥有的背景以及我希望它的样子: 此图显示了我开始键入时发生的情况: 我希望在我打字时背景保持不变(当然文本颜色

我正在编写一个程序,一开始需要一定数量的文本行,为此我使用了
TextBox
。为了使程序看起来更漂亮,我在表单上放了一个背景图像。现在我不希望
TextBox
在图像上放置一个大的白色块,因此我使
TextBox
具有透明的背景。但问题是:一旦我开始将文本放入
文本框
,包含文本的行将恢复为我不想要的白色背景。那么我怎样才能阻止我的程序这么做呢

我还不能发布图片,所以我只使用链接:

此图像显示了我拥有的背景以及我希望它的样子:

此图显示了我开始键入时发生的情况:

我希望在我打字时背景保持不变(当然文本颜色应该会变浅,但textbox.forecolor似乎没有效果)

下面是我到目前为止的代码,我希望你能帮助我,我对这个还是很陌生:)


这在
WinForms
中可能并不容易。如果你只是自己胡思乱想,试着去学习,你可能想考虑玩弄<代码> WPF。很多人仍然需要处理
WinForms
,但我在这两个方面都开发了
WPF
肯定会取代它

它可以提供开箱即用的理想效果:

<Window x:Class="SampleWpf.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:l="clr-namespace:SampleWpf"
        Title="MainWindow" Height="250" Width="400" >
    <Window.Background>
        <ImageBrush ImageSource="images.jpg" />
    </Window.Background>
    <Grid>
        <TextBox Margin="5" Background="Transparent" Text="HELLO THERE!"
                 FontSize="20" FontWeight="Bold" Foreground="White" />
    </Grid>
</Window>



这是一个Windows窗体应用程序、WPF还是什么?我启动了一个空项目,并自己编写了所有代码,但正如上面的代码所说的“NieuwSpel:Form”,我猜这是一个窗体应用程序,而不是WPF或其他什么。很抱歉,你在“NieuwSpel”上找不到我了:-。如果你在问题中添加适当的标签,你会得到更好的答案。这是类的名称,上面代码的第一行:)谢谢你的编辑,我还不知道所有合适的标签:P只是开玩笑。我的意思是,一旦我看到另一种语言(荷兰语,大概是荷兰语),我就停止了阅读。谢谢你的回答:)我只上过一门c#课程,所以我还没有学过这门课,但这确实和我想要的一模一样。然而,我想知道:我拥有的表单和这个WPF之间的交互是如何工作的?我的项目的其余部分与这部分代码构建在同一行中。好的,谢谢,找到了:)我还在WPF在线上找到了更多内容,我将尝试在WPF项目中重新设计布局。我认为这解决了问题,所以我将标记问题的答案。
<Window x:Class="SampleWpf.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:l="clr-namespace:SampleWpf"
        Title="MainWindow" Height="250" Width="400" >
    <Window.Background>
        <ImageBrush ImageSource="images.jpg" />
    </Window.Background>
    <Grid>
        <TextBox Margin="5" Background="Transparent" Text="HELLO THERE!"
                 FontSize="20" FontWeight="Bold" Foreground="White" />
    </Grid>
</Window>