大约一年了,我在尝试使用Visual C#以编程方式发送和接收电子邮件时遇到了问题.我在网上发现的数百个例子中没有一个例子.不,我不只是复制和粘贴.我研究代码,并根据需要修改/添加/删除.
有人可以帮我解决这个问题.我正在努力完成一个应该是我去年开始制作的简单程序,而且事实证明我几乎不可能弄明白.
老实说,我不知道该怎么做了.该文档没有向我提供任何有用的信息,因为它没有任何工作.我已经将示例代码提供给其他人使用,它适用于他们 - 但不是我!这是如何运作的?
我不知道SENDING邮件是否依赖于我的计算机具有的安全/防火墙设置.但就这种情况而言,我甚至暂时完全关闭所有安全和防火墙设置,以确定它是否会发送电子邮件.
我已经没有代码了,因为我刚刚开始尝试再次做这件事,如果有人能帮我完成这项工作,我真的很感激.
所以,我要做的就是:
使用2个按钮和一个文本框创建一个简单的表单.(完成,当然)
button1检查电子邮件(但只在消息框中显示主题和发件人,不下载消息)
button2将textBox1的内容发送到" username@bluebottle.com"
我的服务器设置是:
Username username@bluebottle.com
Password ***********
IMAP/POP Server (Incoming): mail.bluebottle.com
SMTP Server (Outgoing): mail.bluebottle.com
SMTP should be port 25, 26 or 587
POP3 should be port 110, using SSL 995
IMAP should be port 143, using SSL 993
Run Code Online (Sandbox Code Playgroud)
因为我对正则表达式不太熟悉,是否有可能(无论是否难以做到)在符号之间提取某些文本?例如:
<meta name="description" content="THIS IS THE TEXT I WANT TO EXTRACT" />
Run Code Online (Sandbox Code Playgroud) 我正在创建一个倒数计时器,允许用户选择一个有效的时间,一旦倒计时到零,它就会播放声音.
我已从System.Timers命名空间中实例化一个计时器并将其设置Interval为1秒.我将用户指定的时间转换为秒,并在1每次Timer.Elapsed函数命中时减小该值.一旦它达到零,这意味着倒计时已达到零,这意味着它是播放声音的时间.
但是,每当它没有达到零时,我减去时间值1,我也希望ProgressBar通过使用progressbar.Increment函数来递增.
不幸的是,每当我这样做时,它给了我一个与多线程问题有关的例外.我知道出了什么问题,但我不知道如何解决它.我是否需要timer.Elapsed在新线程上启动该功能?
错误是:
跨线程操作无效:控制'CountdownProgress'从其创建的线程以外的线程访问.
此外,欢迎任何关于更好的编程习惯的提示.非常感谢!
这是代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Timers;
using System.Media;
using System.Diagnostics;
using System.Threading;
namespace WindowsFormsApplication1
{
public partial class Form_CDA : Form
{
public Form_CDA()
{
InitializeComponent();
}
private bool m_CountdownActive; // declare global variables and instantiate timer.
private bool m_Cancelled;
public decimal …Run Code Online (Sandbox Code Playgroud) 我一直在我的a元素下面(不是所有的元素)得到绿色的波浪线,这真的让我感到恼火,因为它告诉我,我正在做一些我不做的事情.

为什么它认为我在<a>里面筑巢button?
如何在Ubuntu 14.04上使用Haskell进行Web开发?
我已经阅读了一堆教程,但没有任何工作.我得到了教程的一半,终端中的某些东西惨遭失败,导致我不得不花费数小时寻找解决方案,只是为了回到我离开的地方.
是否只有一些二进制文件可用于在Linux上安装所有内容?我在软件中心找不到它.
经过大量的思考和考虑,以及Google-ing,我一心想创建自己的SaveFileDialog.
但我不知道从哪里开始,因为我没有在网上看到任何东西,我想知道是否有人之前已经做过这件事,我应该调查什么,或者我该怎么做呢?任何帮助将不胜感激.
谢谢 :-)
Baeltazor.
编辑:
说实话,我不喜欢当前的SaveFileDialog(是的,它完成了这项工作),但我确实想要为它添加额外的功能.
啊,我认为没有任何限制.我不能肯定地说,因为我是新手,不知道需要什么或......
我有一个Panel控件.在面板内部,用户可以添加组合框,文本框的标签等并拖动它们,并且我的表单上有一个删除按钮,如果他们点击它,它将删除该面板内的所有控件.但是这段代码:
foreach( Control control in panel.Controls )
{
control.Dispose();
}
Run Code Online (Sandbox Code Playgroud)
... 不能正常工作.它并不总是处理面板内的所有控件.有时它会消除掉它们中的大多数,有时它只能摆脱一两个.有时除了1以外都是处理.WTF?
编辑:
button1_Click(object sender, EventArgs e)
{
TextBox tbox = new TextBox();
tbox.Multiline = true;
tbox.IsAccessible = true;
panel.Controls.Add(tbox);
}
Run Code Online (Sandbox Code Playgroud) 我有一个XML文件,看起来像:
<results>
<result>
<title>Welcome+to+The+JASON+Project%21</title>
<url>http%3A%2F%2Fwww.jason.org%2F</url>
<domain />
<inside_links>
<inside_link>
<description>News</description>
<url>http%3A%2F%2Fwww.jason.org%2FPublic%2FNews%2FNews.aspx</url>
</inside_link>
<inside_link>
<description>register</description>
<url>http%3A%2F%2Fwww.jason.org%2Fpublic%2Fregistration%2Fregistration.aspx</url>
</inside_link>
<inside_link>
<description>Argonauts</description>
<url>http%3A%2F%2Fwww.jason.org%2FPublic%2FArgonauts%2FArgonauts.aspx</url>
</inside_link>
<inside_link>
<description>Curriculum</description>
<url>http%3A%2F%2Fwww.jason.org%2FPublic%2FCurriculum%2FCurriculum.aspx</url>
</inside_link>
<inside_link>
<description>Credits</description>
<url>http%3A%2F%2Fwww.jason.org%2Fpublic%2FMisc%2FCredits.aspx</url>
</inside_link>
</inside_links>
<inside_keywords>National+Science+Education+Standards, National+Geographic+Society, Physical+Science, Professional+Development, Earth+Science</inside_keywords>
</result>
</results>
Run Code Online (Sandbox Code Playgroud)
......我对如何阅读而感到困惑.我只想将标题,描述和URL分成不同的字符串.就像是:
foreach line in lines
string title = gettitle;
string description = getdescription;
string url = geturl;
Run Code Online (Sandbox Code Playgroud)
...我已经阅读了很多教程,但所有这些教程似乎与我需要做的事情无关......有人可以帮我解决这个问题吗?
我以为我会刺杀自己的简单TextBox控件。我不太确定它们是如何编写的,但是我看了一下Windows Forms TextBox的参考源,它只是添加了很多其他问题,所以我想问自己一些问题,这些问题取决于如何我认为做了一个TextBox控件:
如何绘制字符/文字?由于我将从头开始创建TextBox,因此显然需要进行绘制。因此,知道在WinForms中绘制某些内容时,您不仅需要选择该文本,还需要处理MouseDown和MouseMove事件,获取按下鼠标的位置,然后确定哪一个字符是在那个位置。但是,除非将角色及其坐标保存在某个地方,否则我们无法真正做到这一点。这意味着我们可能需要使用一个列表来存储用户键入的所有内容:
List<Character> characters = new List<Character>();
class Character
{
public string Text { get; set; }
public Location { get; set; }
public Size { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
现在我们已经知道了该字符的位置,我们需要绘制一个填充的矩形,以便用户知道他们要选择的内容。我们可以通过在先前确定的坐标处获取字符的大小和位置来做到这一点。
这基本上是TextBox的工作方式吗?
1)当用户键入内容时,我们使用DrawString绘制“键入的内容”,然后将其大小和位置存储在列表中以备将来参考?2)当用户“选择”文本时,我们在列表中查找用户“选择”的坐标,然后在该位置绘制一个填充的矩形?
如何实现自定义控件的滚动?我的控件是完全自定义绘制的,其高度是可变的,并且控件的一部分包含一个菜单,因此,如果控件中有很多项目,则需要在其中放置滚动条。我真的无法找到有关如何执行此操作的任何线索。我确实看到了有关的信息ScrollableControl,但是我仍然不确定这是否是我需要的。
另外,我的控件如何知道何时需要显示滚动条?因为我的控件是完全自定义绘制的,所以里面没有真正的“控件”,所以只绘制了一堆像素,所以我不能像将AutoScroll设置为true一样,因为它不是控件的主要部分需要滚动,它是控件上需要滚动条的特定位置。