标签: textbox

如何使用WinForms设置Control的Z顺序

我正在写一个习惯TextBox,一旦获得焦点改变其边框风格.

由于添加边框会导致控件与相邻的控件重叠,因此我暂时将文本框置于对话框的前面(使用textBox.BringToFront()).

但是,一旦编辑完成并且焦点丢失,我想将控件发送回Z顺序中的原始位置.

这是可能的(最好以简单的方式!)

c# textbox focus z-order winforms

31
推荐指数
2
解决办法
7万
查看次数

如何在WPF中更改TextBox的禁用背景颜色

我见过以下与我的问题有关的帖子:

WPF ComboBox:禁用时的背景色

以上内容涉及更改内容模板ComboBox.我正在使用WPF,我对样式和模板有点新,我想将禁用的暗灰色背景颜色更改为TextBox其他颜色.我们TextBoxes经常在我们的应用程序中使用,并且我们发现难以阅读的默认颜色设置.

我已经制定了以下解决方案尝试.但是,当然,它不起作用.有人可以给我一个意见吗?

上传图片

wpf controls templates textbox background

31
推荐指数
3
解决办法
6万
查看次数

Wpf:拖放到文本框

我搜索了这个问题,人们已经回答了类似的问题,但由于某种原因,我无法得到任何工作.我一定在这里遗漏了一些东西......无论如何,当我运行以下代码时,永远不会调用TextBox_DragEnter处理程序.但是,如果我将xaml中的T​​extBox元素更改为TextBlock元素,则会调用它.有没有办法从TextBox元素获得相同的行为?以下代码完全隔离了问题......

MainWindow.xaml:

<Window x:Class="Wpf1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid Name="myGrid">
        <TextBox AllowDrop="True" PreviewDragEnter="TextBox_DragEnter" PreviewDrop="TextBox_Drop" />
    </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

MainWindow.xaml.cs:

using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Collections.ObjectModel;

namespace Wpf1
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void TextBox_DragEnter(object sender, DragEventArgs e)
        {
            e.Effects = DragDropEffects.Copy;
        }

        private void TextBox_Drop(object sender, DragEventArgs e)
        {

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

提前谢谢了!

安德鲁

编辑:

为了澄清,我想允许将自定义对象放入文本框中.在文本框的Drop处理程序中,我想将文本框的文本设置为对象中的属性,然后将TextBox的IsReadOnly属性设置为false.我只是在为TextBox拖放时遇到一些麻烦......

wpf textbox drag-and-drop

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

TextBox中Windows窗体滚动日志输出的最佳方法

在Forms应用程序中,我正在显示生成大量输出的长时间运行的命令行应用程序的日志输出.我在后台启动程序,捕获其输出,并使用AppendText将其显示在TextBox中.我更喜欢只显示例如最后1000行.从TextBox中删除行是很昂贵的,而TextBox实际上并不是滚动日志显示的最佳方法.

关于在Windows窗体中执行滚动日志窗口的最佳控件的任何想法?

.net logging textbox winforms

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

Winforms文本框 - 使用Ctrl-Backspace删除整个单词

我有一个Winforms对话框,其中包含一个允许单行输入的TextBox.我想允许用户能够按Ctrl-Backspace删除整个单词.这不是开箱即用的TextBox的默认行为; 我得到一个矩形字符,而不是删除单词.

我已确认该ShortcutsEnabled物业已设定为True.

我确实发现我可以使用RichTextBox而不是TextBox来获取我想要的行为.这个问题是RichTextBox的外观(特别是边框)与TextBox的外观不同,我不需要或不想要标记文本的能力.

所以我的问题是如何最好地处理这种情况?我错过了TextBox上的一些属性吗?或者最好使用RichTextBox,更新外观以使其一致,并禁用文本的标记?

如果没有更好的方法,我很乐意编写处理KeyDown和KeyPress事件明确的代码,但认为值得先检查一下.

c# textbox winforms

30
推荐指数
4
解决办法
9249
查看次数

在WPF TextBox上捕获鼠标单击

我想捕获鼠标点击TextBox:

<Window x:Class="WpfApplication2.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Window1" Height="300" Width="300">
    <Grid>
        <TextBox x:Name="t" MouseDown="TextBox_MouseDown"
                 MouseLeftButtonDown="TextBox_MouseLeftButtonDown"
                 MouseLeftButtonUp="TextBox_MouseLeftButtonUp"
                 Height="50" />
    </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

现在我只在用户第一次进入时收到鼠标点击事件TextBox.在此TextBox键盘焦点之后,我不再接收鼠标点击事件.知道如何让这个工作吗?

c# wpf xaml textbox mouseevent

30
推荐指数
2
解决办法
5万
查看次数

Textview环绕视图

我正在尝试使我的水平布局充分利用可用的空间.

在显示活动的信息中,我有一个"事实框",后面跟着一大盒文字.我希望信息框可以向右浮动,类似于下图.

这可能使用android TextView api吗?

示例图片

android textbox alignment textview android-layout

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

如何在PostBack()之后保留只读TextBox的文本?

我有一个ASP.NET TextBox,我希望它是ReadOnly.(用户使用其他控件修改它)

但是当有a时PostBack(),文本会重置为空字符串.

我理解,如果你将ReadOnly属性设置TrueTextBox它的内容,则不会通过它保存PostBack().

有没有办法在用户之后保留内容PostBack()并使其TextBox不可编辑?

我试图将Enabled属性设置为False,但仍然内容不保存PostBack().

c# asp.net postback textbox readonly

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

让TextBox拉伸以填充StackPanel中的宽度

我有一个StackPanel在我的WinRT C#Metro应用程序中,我想用作标签/值对的容器(TextBlockTextBox),如下所示:

<StackPanel Orientation="Horizontal" Width="400">
    <TextBlock Text="Label" Width="150" />
    <TextBox Text="Value" />
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

现在我想要的是让TextBox自动填充StackPanel的剩余水平空间.这有可能吗?HorizontalAlignment/ HorizontalContentAlignment不工作.

我知道另一种方法是为此定义一个Grid.问题是我有几次构造,并希望在Style定义中使用它.我不想用行和列x次定义Grid的定义...

也许替代方案是定义一个自定义用户控件,但我希望有一个简单的可能性TextBox来扩展.

xaml textbox stackpanel microsoft-metro windows-runtime

29
推荐指数
2
解决办法
6万
查看次数

按文本框中的Enter键并执行按钮命令

我想通过按下来执行我的搜索按钮后面的代码Enter.我有一个Accept Button属性到我的搜索按钮.但是,当我将我的按钮设置为不可见时,我的搜索不会执行.

我希望能够Enter在我的文本框内按下并执行我的按钮,而不可见.任何建议都会很棒!下面是我在KeyDown事件中的代码的一次尝试

if (e.KeyCode == Keys.Enter)
    {
        buttonSearch_Click((object)sender, (EventArgs)e);
    }
Run Code Online (Sandbox Code Playgroud)

c# textbox enter button acceptbutton

29
推荐指数
2
解决办法
14万
查看次数