- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试过查看与此类似的问题来寻找答案,但它们似乎略有不同,头脑是“RoatedEventHandler”,而其他问题只是关于“eventhandler”,并且似乎与我的问题并不相符。
为了帮助您理解,我制作了一个基本的 wpf c# TCP 客户端,它发送消息(文本框中的内容),同时读取流以获取消息,然后将其放入文本文件中。
尝试编译时出现此错误。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Net;
using System.Net.Sockets;
using System.IO;
namespace client
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
// Ip and port variables used for connect and gui display
string ipaddress = "127.0.0.1";
int port = 8888;
/// <summary>
/// Set new TCP client, stream writer and reader, connect and gui show ip and port
/// </summary>
public void MainWindow_Connect(object sender, EventArgs e)
{
TcpClient client = new TcpClient(); // New TcpClient
client.Connect(ipaddress, port); // IP, Port to connect
StreamWriter sw = new StreamWriter(client.GetStream()); // New StreamWriter instance
StreamReader sr = new StreamReader(client.GetStream()); // New StreamReader instance
// Interface label show ip and port
serverip_lbl.Content = ipaddress;
portno_lbl.Content = port;
}
/// <summary>
/// Send message inside message_txt textbox, write to network stream and send
/// </summary>
private void send_button_Click(object sender, RoutedEventArgs e, StreamWriter sw)
{
sw.WriteLine(message_txt.Text);
sw.Flush();
}
/// <summary>
/// Read from message from the server, write to textfile
/// </summary>
public void serverStream(StreamReader sr)
{
// Create a string array
string[] message = { "\n", sr.ReadToEnd() };
// WriteAllLines creates a file, writes a collection of strings to the file and then closes the file
File.WriteAllLines(@"C:\Users\Public\Documents\Messages.txt", message);
}
}
}
XAML:
<Window x:Class="client.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:client"
Loaded = "MainWindow_Connect"
mc:Ignorable="d"
Title="MainWindow" Height="500" Width="400">
<Grid>
<Label x:Name="titleclient_txt" Content="Client" Margin="10,10,0,0" VerticalAlignment="Top" FontWeight="Bold" FontSize="18.667" HorizontalAlignment="Left" FontStyle="Italic" d:IsLocked="True"/>
<Label x:Name="demotitle_txt" Content="Sending a message" HorizontalAlignment="Right" Margin="0,50,87,0" VerticalAlignment="Top" FontSize="24" FontWeight="Bold" d:IsLocked="True"/>
<Label x:Name="server_lbl" Content="Server IP:" HorizontalAlignment="Left" Margin="74,106,0,0" VerticalAlignment="Top" d:IsLocked="True"/>
<Label x:Name="serverip_lbl" Content="" HorizontalAlignment="Left" Margin="155,106,0,0" VerticalAlignment="Top" Width="150" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
<Label x:Name="port_lbl" Content="Port:" HorizontalAlignment="Left" Margin="74,146,0,0" VerticalAlignment="Top" d:IsLocked="True"/>
<Label x:Name="portno_lbl" Content="" HorizontalAlignment="Left" Margin="155,146,0,0" VerticalAlignment="Top" Width="150" VerticalContentAlignment="Center" HorizontalContentAlignment="Center"/>
<Label x:Name="message_lbl" Content="Message:" HorizontalAlignment="Left" Margin="74,199,0,0" VerticalAlignment="Top" d:IsLocked="True"/>
<TextBox x:Name="message_txt" HorizontalAlignment="Left" Height="70" Margin="74,230,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="250"/>
<Button x:Name="send_button" Content="Send" HorizontalAlignment="Left" Margin="155,344,0,0" VerticalAlignment="Top" Width="75" Click="send_button_Click"/>
</Grid>
最佳答案
您的 send_button_Click 方法必须与 RoutedEventHandler 具有相同的签名。但是你的有一个额外的 StreamWriter 参数,必须将其删除。
关于c# - 'method' 匹配委托(delegate) 'RoutedEventHandler' 没有重载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42656571/
我正在尝试通过代码将 RoutedEventHandler 添加到所有 TextBoxes,使用以下代码行: this.AddHandler(TextBox.GotFocusEvent, new Ro
这两者有什么区别: _btnAddNew.Click += OnAddNewClick; _btnAddNew.Click += new RoutedEventHandler(OnAddNewCli
有人知道没有通用 RoutedEventHandler 的意义吗?我们已经有了 EventHandler<>,这很棒,为什么还要强制开发人员编写自己的自定义路由事件处理程序? 最佳答案 RoutedE
我对 c# WPF routedevent 有疑问。此代码工作正常: MyLabel myLabel = new MyLabel();//MyOwn component
我正在尝试为以下代码编写单元测试: public static void AppExitCmdCanExecute(object sender,
有什么区别: this.btnConnect.Click += btnConnect_Click; 和: this.btnConnect.Click += new RoutedEventHandler
有什么区别 this.Loaded += new RoutedEventHandler(MainWindow_Loaded); 和 childWindow.MyEvent += new EventHa
我尝试过查看与此类似的问题来寻找答案,但它们似乎略有不同,头脑是“RoatedEventHandler”,而其他问题只是关于“eventhandler”,并且似乎与我的问题并不相符。 为了帮助您理解,
我有一个带有按钮的用户控件,它在带有 RoutedEventHandler 的窗口中使用: 用户控件: public event RoutedEventHandler IniciarPLC_Click
我有一个带有按钮的用户控件,它在带有 RoutedEventHandler 的窗口中使用: 用户控件: public event RoutedEventHandler IniciarPLC_Click
我正在尝试制作一个应用程序启动器,最后我试图将额外的参数传递给 RoutedEventHandler 方法调用,但它给了我一个错误,我试着在谷歌上查找它,但我根本不明白. (我是菜鸟)所以这是代码,请
每次单击一个按钮时,我都会尝试在多个按钮的 App.xaml 中的两个先前定义的样式之间切换。我尝试了一个通用事件处理程序,但它会显示错误'button_Click' 没有重载匹配委托(delegat
在 Windows Phone 应用程序中,我想动态添加一个按钮,如下所示: Button btn = new Button(); btn.Content = tb_groupname.Text; b
这个问题在这里已经有了答案: Attaching Eventhandler with New Handler vs Directly assigning it (2 个答案) 关闭 9 年前。 在
我是一名优秀的程序员,十分优秀!