我在FTP服务器中创建了文件夹,其中包含登录到服务器的年份,月份和日期,我们可以看到当年点击它显示月份时创建的文件夹,当我点击月份时显示日期.现在我需要删除此文件夹.
下面是我在FTP服务器中删除文件夹的代码
FtpWebResponse responseFileDelete = (FtpWebResponse)ftpRequest.GetResponse();
Run Code Online (Sandbox Code Playgroud)
System.dll中出现未处理的"System.Net.WebException"类型异常
附加信息:远程服务器返回错误:(550)文件不可用(例如,找不到文件,没有访问权限).
你能帮我删除一个文件夹吗?
我想简化一些代码.因此,如果某个表格已经打开,我想制作一个检查功能.现在,我的开始表单上的每个按钮后面都有代码.
private void button_parts_Click(object sender, EventArgs e)
{
FormCollection fc = Application.OpenForms;
foreach (Form frm in fc)
{
if (frm is frm_parts) { return; }
}
frm_Teile newForm = new frm_parts();
newForm.Show();
}
Run Code Online (Sandbox Code Playgroud)
现在我希望有类似的东西:
private void button_parts_Click(object sender, EventArgs e)
{
StartNewForm(frm_parts);
}
private void StartNewForm(Type myForm)
{
FormCollection fc = Application.OpenForms;
foreach (Form frm in fc)
{
if (frm is myForm) { return; }
}
myForm newForm = new myForm();
newForm.Show();
}
Run Code Online (Sandbox Code Playgroud)
但我无法将类型传递给函数 编辑:你当然可以,但我不知道如何以及从何处开始.
是否有(另一种)方式来实现我需要的东西?
using System.Windows.Forms;
public class App
{
[STAThread]
public static void Main()
{
string fname;
using (var d = new OpenFileDialog())
{
if (d.ShowDialog() != DialogResult.OK)
{
return;
}
fname = d.FileName;
}
//Application.ExitThread();
for (; ;)
;
}
}
Run Code Online (Sandbox Code Playgroud)
上面的代码显示了一个文件对话框.一旦我选择了一个文件并按下open,就会执行for循环,但是(冻结的)对话框仍然存在.
取消注释后Application.ExitThread(),对话框会按预期消失.
这是否按预期工作?为什么不让using窗户消失?我在哪里可以找到更多关于此的信息?
我想在Windows窗体应用程序上从Web加载图像,一切都很好,代码工作正常,但问题是应用程序停止工作,直到加载完成.我希望看到并使用应用程序,而无需等待加载.
PictureBox img = new System.Windows.Forms.PictureBox();
var request = WebRequest.Create(ThumbnailUrl);
using (var response = request.GetResponse())
using (var stream = response.GetResponseStream())
{
img.Image = Bitmap.FromStream(stream);
}
Run Code Online (Sandbox Code Playgroud) 我是C#的新手(如果我的问题是noobish,我道歉 - 我在教自己,所以这是一个坎坷的过程).我正在尝试开发一个winform,因为有些方法很长,我试着将它保存在几个类中.这就是我希望实现的目标:
public partial class formMainForm : Form
{
public formMainForm()
{
InitializeComponent();
}
private void UpDown1_ValueChanged(object sender, EventArgs e)
{
longCalculations.LongMethod1();
}
}
public class longCalculations
{
private void LongMethod1()
{
// Arbitrarily long code goes here
}
}
Run Code Online (Sandbox Code Playgroud)
我这样做是为了保持formMainForm课堂整洁,并能够将任何计算分成可管理的块.但是,我在非表单类中遇到使用表单控件(例如复选框,数字上下控件等)的问题.
如果我保持原样(例如CheckBox1)我得到一个名称在当前上下文错误中不存在.我四处搜索,发现这是因为该框是在不同的类中定义的.但是,如果我将其更改为formMainForm.CheckBox1,则错误现在是非静态字段,方法或属性需要对象引用.再次,我环顾四周,看来这是由于表单初始化方法不是静态的.
如果我换public formMainForm()到static formMainForm(),错误现在移动到InitializeComponent();,我不知道从哪里开始.我也尝试过对该formMainForm()方法进行实例化,但是没有做任何事情(我试图使用的代码如下.我发现它在这个网站的某个地方作为类似问题的答案).
private void formLoader(object sender, EventArgs e)
{
shadowrunMainForm runForm = new shadowrunMainForm();
runForm.Show();
} …Run Code Online (Sandbox Code Playgroud) 如何以编程方式最大化我当前在我的电脑上运行的程序.例如,如果我WINWORD.exe在任务管理器中运行.我如何最大化它?
在我的代码中,我尝试过:
private void button1_Click(object sender, EventArgs e)
{
this.WindowState = FormWindowState.Maximised;
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,它只显示我的应用 我想它最大化另一个exe,但如果它找不到它然后我想它退出.
我正在设计一个Toggle Switch控件CheckBox,但是目前我的控件只画了一个圆圈.如何绘制如下图像的圆形图形,如何根据控件的值更改圆的位置以表示已检查和未检查的状态,如下图所示:
这是我的代码:
public class MyCheckBox:CheckBox
{
public MyCheckBox()
{
this.Appearance = System.Windows.Forms.Appearance.Button;
this.BackColor = Color.Transparent;
this.TextAlign = ContentAlignment.MiddleCenter;
this.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.FlatAppearance.BorderColor = Color.RoyalBlue;
this.FlatAppearance.BorderSize = 2;
}
protected override void OnPaint(PaintEventArgs e)
{
this.OnPaintBackground(e);
using (var path = new GraphicsPath())
{
var c = e.Graphics.ClipBounds;
var r = this.ClientRectangle;
r.Inflate(-FlatAppearance.BorderSize, -FlatAppearance.BorderSize);
path.AddEllipse(r);
e.Graphics.SetClip(path);
base.OnPaint(e);
e.Graphics.SetClip(c);
e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
if (this.Checked)
{
using (var p = new Pen(FlatAppearance.BorderColor,
FlatAppearance.BorderSize))
{
e.Graphics.DrawEllipse(p, r);
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 我已经按照本教程创建了一个圆角面板.本教程中的代码是在vb中,但我能够将其转换为C#,所以这是我的代码:
public class SPanel : Panel
{
Pen pen;
float penWidth = 2.0f;
int _edge = 20;
Color _borderColor = Color.White;
public int Edge
{
get
{
return _edge;
}
set
{
_edge = value;
Invalidate();
}
}
public Color BorderColor
{
get
{
return _borderColor;
}
set
{
_borderColor = value;
pen = new Pen(_borderColor, penWidth);
Invalidate();
}
}
public SPanel()
{
pen = new Pen(_borderColor, penWidth);
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
ExtendedDraw(e);
//DrawBorder(e.Graphics); …Run Code Online (Sandbox Code Playgroud) 我在a中有一些Button控件FlowLayoutPanel,我想将它们精确地设置在中间底部Form.在下面的图像中,我Button通过FlowLayoutPanel手动将填充设置为400来精确地设置在中间.
但是当我尝试调整大小或恢复按钮时,由于手动设置填充,不再在中间.
FlowLayoutPanel每当我尝试调整大小时,我可以做些什么来设置按钮.我正在按照这篇文章的答案,
动态添加和删除按钮.
我从Windows窗体中删除了默认边框,并创建了自己的标题,该标题具有与默认Windows相同的功能。
其中之一是右键单击时显示的上下文菜单:
是否可以将其分配给我的服装标头?
如果您想发布代码,我希望使用vb,但是c#也可以。
c# ×10
winforms ×10
.net ×6
.net-4.0 ×1
checkbox ×1
class ×1
contextmenu ×1
dialog ×1
forms ×1
ftp ×1
graphics ×1
mono ×1
panel ×1
picturebox ×1
toggleswitch ×1
vb.net ×1
webrequest ×1