- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我希望能够在不需要实现新类的情况下修改 wpf 文本框的行为。
我想要一个类似 Enter/Alt+Enter 行为的 Excel,当用户点击“Enter”时,文本框被验证(movefocus ...),但是当他点击“ALT+Enter”时,文本框必须添加一个新的行(我的文本框支持多行:AcceptsReturn 为真)。
我试过了(在文本框 PreviewKeyDown 事件中):- 通过此链接构建 KeyEventArgs 和 TextCompositionEventArgs:How can I programmatically generate keypress events in C#?- 我试过 SendKeys.SendWait("{ENTER}") 但它会发送许多换行命令
有办法吗?
Cảm ơn
private void m_MeasurementName_PreviewKeyDown(object sender, KeyEventArgs e)
{
var tb = (sender as TextBox);
if (Keyboard.Modifiers == ModifierKeys.Alt && Keyboard.IsKeyDown(Key.Enter))
{
// 1st try
var key = "\n\r";
var routedEvent = Keyboard.KeyDownEvent;
tb.RaiseEvent(new TextCompositionEventArgs(InputManager.Current.PrimaryKeyboardDevice, new TextComposition(InputManager.Current, tb, key)) { RoutedEvent = routedEvent });
// 2nd
var key = Key.Enter;
var routedEvent = TextCompositionManager.TextInputEvent;
tb.RaiseEvent(new KeyEventArgs(Keyboard.PrimaryDevice, PresentationSource.FromVisual(tb), 0, key) { RoutedEvent = routedEvent });
// 3rd
System.Windows.Forms.SendKeys.SendWait("{ENTER}");
// 4th Strangely works but not ... you know
MessageBox.Show("ALT+ENTER");
e.Handled = true;
}
else if (Keyboard.IsKeyDown(Key.Enter))
{
tb.MoveFocus(new TraversalRequest(FocusNavigationDirection.Next));
e.Handled = true;
}
}
câu trả lời hay nhất
如果用户按下 Alt+Enter,只需在现有的 TextBox.Text
上添加一个新行。如果他们只按下 Enter,则在文本绑定(bind)上触发 UpdateSource
private void m_MeasurementName_PreviewKeyDown(object sender, KeyEventArgs e)
{
var tb = (sender as TextBox);
if (Keyboard.Modifiers == ModifierKeys.Alt && Keyboard.IsKeyDown(Key.Enter))
{
tb.Text += "\r\n";
tb.SelectionStart = tb.Text.Length;
e.Handled = true;
}
else if (Keyboard.IsKeyDown(Key.Enter))
{
var textBinding = BindingOperations.GetBindingExpression(
tb, TextBox.TextProperty);
if (textBinding != null)
textBinding.UpdateSource();
e.Handled = true;
}
}
要使 NewLine 正常工作,请确保 AcceptsReturn="True"
在您的 TextBox
关于c# - 文本框转换发送 key : Alt + Enter -> Enter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8139420/
Tôi đang tạo một ứng dụng iOS bằng thông báo đẩy voip. Tôi muốn gửi thông báo đẩy voip từ Node js nhưng nó không tốt lắm. Tôi đã đọc hướng dẫn này CallKit iOS Swift Tutorial for V
Tôi đã viết một máy chủ rằng khi trình duyệt cố gắng kết nối với một số trang web nhất định, nó sẽ kiểm tra danh sách đen và gửi lại 404, nhưng khi tôi gọi send() thì không có lỗi nhưng thông báo không xuất hiện trên trình duyệt web trừ khi tôi Đóng sự liên quan? Có gợi ý gì không? Chấp nhận từ trình duyệt
#include int main() { char c = getchar(); //EOF (ctrl + d) trong khi( ( c = getchar() ) != '?'
Tôi đang cố gắng sử dụng đối tượng MailMessage để gửi email qua PowerShell. Tập lệnh sử dụng Nhập-CSV để sử dụng tệp và sau đó Chuyển đổi sang HTML trong nội dung email. Vì tôi muốn gửi email cho khách hàng
Tôi cần tạo một tập lệnh lấy mẫu lưu lượng truy cập mạng cứ sau 30 giây và lưu trữ các byte đã gửi/nhận. Dữ liệu này sau đó được sử dụng để vẽ biểu đồ. Tôi đã viết một chương trình hoạt động hoàn hảo trên Windows 2012, nhưng tôi nhận ra rằng một số lệnh ghép ngắn
Tôi đang chạy tệp "autoit3.chm". Khi nó chạy, tôi muốn gửi một mũi tên phím xuống nhưng nó không hoạt động: $file = FileGetShortName("C:\Users\PHSD100-SIC\Deskto
Khi tôi đang kiểm tra chương trình của mình bằng trình duyệt web, tôi có thể ghi vào socket/FD rất tốt nên tôi quyết định lặp lại nó và cắt kết nối giữa chừng và tôi phát hiện ra một vấn đề. send() có khả năng tắt toàn bộ chương trình nếu không có ổ cắm. Tôi nghĩ vấn đề là chương trình bị kẹt trong
Tôi đang chạy tệp "autoit3.chm". Khi nó chạy, tôi muốn gửi một mũi tên phím xuống nhưng nó không hoạt động: $file = FileGetShortName("C:\Users\PHSD100-SIC\Deskto
Vì vậy, tôi đang cố gắng gửi dữ liệu cho chính mình và nhận dữ liệu rồi in nó, bây giờ tôi đã thử nghiệm nó được một thời gian và tôi nhận thấy rằng nó không gửi bất cứ thứ gì, trên thực tế, có thể là như vậy, nhưng tôi ' tôi không nhận được nó một cách chính xác, tôi cần sự giúp đỡ đó. Đây là những gì tôi đang sử dụng để gửi dữ liệu
Câu hỏi: Mức độ phổ biến của việc các nhà phát triển tạo định dạng tuần tự hóa của riêng họ là gì? Cụ thể, về cơ bản, tôi đang sử dụng java để gửi đối tượng dưới dạng một chuỗi khổng lồ, có các điểm đánh dấu để phân tách các biến. Logic của tôi: Tôi chọn điều này vì nó gần như loại bỏ sự phụ thuộc ngôn ngữ (bỏ qua việc sửa đổi java
Tôi phải viết một ứng dụng trên Linux cần giao tiếp với một thiết bị có loại ethernet tùy chỉnh. Có nhiều giải pháp ngay cả trong cách viết một ứng dụng như vậy. Một nhược điểm là nó yêu cầu quyền truy cập root (AFAIK). phát hành sau
Tôi có một biểu mẫu có ba tùy chọn nút radio. Tôi cần gửi dữ liệu biểu mẫu sang một tệp khác, nhưng vì lý do nào đó, dữ liệu được gửi chứa giá trị "bật" cho nút radio đã chọn, thay vì giá trị của thuộc tính giá trị. Tôi đã thử thực hiện thủ công thông qua hàm post() và đăng
Về cơ bản tôi muốn đạt được điều gì đó như thế này: Quy trình 1 Chủ đề 1 Nhận X từ quy trình 2 Chủ đề 2 Nhận Y từ các quy trình
Tôi hiện đang phát triển một hệ thống trên Google App Engine, tôi mới làm quen với nó và tôi đang sử dụng nền tảng Java để phát triển. Tôi gặp sự cố khi gửi đối tượng phiên giữa các servlet. Tôi đã đăng ký rồi
Khi tôi cố gắng gửi "cái này" (phần tử được kích hoạt) làm tham số cho hàm, hàm sẽ nhận "Object[Document build.php]" dưới dạng tham số thay vì phần tử được kích hoạt. Vui lòng cho tôi biết lỗi của tôi: function set(a
Tôi đang tìm kiếm một câu thần chú để làm cho ứng dụng của tôi phản hồi với Liên hệ > Gửi. Tôi muốn có thể nhận URI của liên hệ để truy xuất liên hệ. Có ai có danh sách các bộ lọc/đoạn mã không? Câu trả lời hay nhất Tôi không có tinh hoàn nhưng bạn có thể thử dựa trên ACT
Một câu hỏi khác về ổ cắm yêu thích của tôi. Trước tiên hãy để tôi giải thích tình huống của tôi. Tôi sẽ kể cho bạn điều gì làm tôi khó chịu sau. Tôi có một khách hàng và một máy chủ. Cả hai ứng dụng đều được viết bằng C++ và triển khai winock2. Kết nối thông qua TCP và
Tôi đã xem bài viết này http://www.eskimo.com/~scs/cclass/int/sx5.html nhưng phần này làm tôi bối rối: Nếu chúng tôi đã sử dụng send_array hoặc send_array_
Tôi gặp vấn đề với dòng mã này. Tôi phải mang một gói đến một cổng và gửi lại đến giao diện (ví dụ: eth0). Chương trình của tôi nhận thành công các gói từ cổng, nhưng khi tôi gửi lại (sử dụng send()) tới giao diện (interfa
Tôi đang cố gắng viết trình điều khiển đầu vào X11 có thể sử dụng màn hình cảm ứng trên điện thoại Android của mình để di chuyển và nhấp chuột. Tôi có thể di chuyển chuột bình thường nhưng không thể để ứng dụng nhận dạng thao tác nhấp chuột chính xác. Mã hiện tại của tôi là https://Gist
Tôi là một lập trình viên xuất sắc, rất giỏi!