为我做在vb.net(Windows形式)的小型聊天应用程序,我有我的客舱的设计问题。我想短信要进行选择,这样用户可以复制(CTRL + V),但不是用户名,显示谁发送的消息。我应该按顺序使用什么窗体控件来实现这一点,从它改变什么属性?谢谢。还记住用户名和它们的消息必须被正确对齐。

有帮助吗?

解决方案

捉CTRL + C并解析的用户名的选择的文本并将其删除

(也许你可以使用户名的图像什么会阻止标准文本复制粘贴)

其他提示

你有没有想过使用的DataGridView 控制?

您可能对用户名单独的列和所述消息,只允许从消息列复制。

DataGridView控件是非常强大的,这些天,将使不过你想要的(隐藏网格线,使它看起来更像例如文本框)您自定义外观。

有技巧和提示,所有的地方,但此页示出了如何改变网格线的颜色。

嗯,这里是一个很酷的想法,但我不知道有足够的了解您的要求知道它是否会为你工作或没有。我想首先所有,如果我用一个聊天应用程序,我想简单地点击一个消息,并将它复制到剪贴板。毕竟,我想不出别的我需要点击一个消息。所以,这将是巨大的,如果将鼠标悬停在一个消息导致它被突出显示,并点击导致它被复制。

如果这适用于你的情况,接下来的问题是如何实现这一点。我想,你可以使用一个标签,以显示谁发送消息的用户名和一个只读文本框来显示消息本身。每一条新信息添加到聊天的时候,你插入一个新的标签和一个文本框新(通过将这些控件添加到页面的控件集合)。或许应该包装在一个div标签和文本框,所以当他们悬停,你可以突出显示整个DIV。

现在,你如何让一下导致消息的文本复制到剪贴板?这将需要一些JavaScript。如果您使用的是JavaScript库,看看它提供。如果不是这样,这里有一些链接。 JavaScript代码需要得到只有文本框,它可以通过寻找合适的CSS类或右ID我们做的内容。然后,该文本复制到剪贴板中这些链接描述:

的Javascript用于复制到剪贴板

用于复制到剪贴板

约JavaScript中第二链路

用于复制到剪贴板

用于复制到剪贴板有关JavaScript甲第四连结

顺便说一句,也许你有一个用户应该能够选择许多消息的文本的要求。在这种情况下,也许点击消息“选择”它,你可以有选择的倍数。然后,有一个为“复制所有选定的邮件”按钮。这不处理的唯一事情就是选择一个消息的文本的一部分。因此,它可能会或可能不适合您的需求。

通过选择两个文本框和验证为两个不同的用户的用户名和密码,并采取列表框为看到的消息,在代码打开的套接字连接的用户之间的聊天。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top