我试图让启动画面首先出现并在启动后MainForm出现.但是我在启动画面中的进度条没有到达栏的末尾.程序继续运行而不起作用.
如何在加载主窗体期间显示启动画面?
我的代码就是这样的:
public partial class SplashForm : Form
{
public SplashForm()
{
InitializeComponent();
}
private void SplashForm_Load(object sender, EventArgs e)
{
timer1.Enabled = true;
timer1.Start();
timer1.Interval = 1000;
progressBar1.Maximum = 10;
timer1.Tick += new EventHandler(timer1_Tick);
}
public void timer1_Tick(object sender, EventArgs e)
{
if (progressBar1.Value != 10)
{
progressBar1.Value++;
}
else
{
timer1.Stop();
Application.Exit();
}
}
}
Run Code Online (Sandbox Code Playgroud)
以下是代码的第一部分MainForm:
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
Application.Run(new SplashForm());
}
}
Run Code Online (Sandbox Code Playgroud) 如何在c#winforms中的Label文本上应用外发光和模糊效果.使用自定义控件
如您所见,这是自定义面板,我正在尝试为整个文本进行发光效果.
protected override void OnPaint(PaintEventArgs pe)
{
//base.OnPaint(pe);
StringFormat sf = new StringFormat();
sf.Alignment = StringAlignment.Center;
sf.LineAlignment = StringAlignment.Center;
GraphicsPath GP = new GraphicsPath();
GP.FillMode = FillMode.Alternate;
GP.AddString(this.Text, this.Font.FontFamily, 2, 12f, new Point(ClientRectangle.X+Text.Length*4-20, ClientRectangle.Y+10), sf);
// In Border
using (SolidBrush brush = new SolidBrush(BackColor))
pe.Graphics.FillRectangle(brush, ClientRectangle);
pe.Graphics.DrawRectangle(new Pen(Color.FromArgb(_InnerBorderColor.R, _InnerBorderColor.B, _InnerBorderColor.G), 1.0f), 0, 0, ClientSize.Width - 2, ClientSize.Height - 2);
pe.Graphics.DrawPath(new Pen(Color.Blue, 2f), GP);
pe.Graphics.DrawString(base.Text, this.Font, Brushes.Black, 2, 2);
}
Run Code Online (Sandbox Code Playgroud) 这是我对C#感到愤怒的事情之一.我现在正在尝试使用大量库,由于某种原因,创建代码示例的人不够智能,无法在示例中包含您需要导入的名称空间.这是通用的情况.我发现自己正在搜索命名空间,数百个有时嵌套试图找出我需要导入的名称空间.在java netbeans中,它甚至会告诉我要导入哪些包,因为它会搜索我.但是在C#中我总是浪费无数次手动搜索命名空间.
有什么方法可以绕过这个.就像现在我试图找到哪个命名空间包含Tweetinvi库的TwitterCredentials.
说真的,为什么人们不在代码示例中包含命名空间.这不是愚蠢的!为什么visual studio不会像java那样提出建议.这真的只是常识....
我需要让用户选择一个月和一年。通常,他们会想要最后一个月(例如,如果是 2015 年 12 月 18 日,他们通常会选择 2015 年 11 月)。所以我希望这些值是组合框中预先选择的值。
我怎样才能做到这一点(在 C# 中),并且一旦越过卢比孔河(幼发拉底河?)到 2016 年 1 月,它也将是“2015 年 12 月”?
我也希望它不会增加2016,直到它是2016(依此类推,随着岁月的流逝),并开始从预定一年(不0年或1970年或类似的东西,不一定)。
我正在制作一个程序,它必须计算CheckBox检查了多少控件,仅在GroupBox.
我尝试了很多不同的方法,但我无法让它工作。
这怎么可能?
// This is one of the many things I tried...
public CheckBox rNum;
//This method is used on FormLoad.
public void CreateBoxes()
{
for (int i = 0; i < 36; i++)
{
rNum = new CheckBox();
rNum.Text = i.ToString();
//CheckBoxes added to flowLayoutPanel.
flw.Controls.Add(rNum);
}
}
public int count;
//This method is used on Button Click
public void CountIt()
{
foreach (CheckBox box in groupBox.Controls.OfType<CheckBox>())
{
if (box.Checked)
{
count++;
}
} …Run Code Online (Sandbox Code Playgroud) 我创建了一个非常简单的HelloWorld.ps1Power-shell脚本,该脚本接受一个Name参数,验证其长度,然后打印一个hello消息,例如,如果您传递Johnas Name,则应该打印该消息Hello John!。
但是奇怪的行为是我每次执行它时:
Name长度超过10个字符的参数。10没有任何扩展名的文件。这是Power-shell脚本:
param (
[parameter(Mandatory=$true)]
[string]
$Name
)
# Length Validation
if ($Name.Length > 10) {
Write-Host "Parameter should have at most 10 characters."
Break
}
Write-Host "Hello $Name!"
Run Code Online (Sandbox Code Playgroud)
这是执行它的命令:
.\HelloWorld.ps1 -Name "John"
Run Code Online (Sandbox Code Playgroud)
我的脚本有什么问题?
PowerShell 脚本 #1 执行以下操作:
Performs FTP ops ending with saving updated remote directory data in a local file
Run Code Online (Sandbox Code Playgroud)
该脚本会快速运行,直到必须使用 FTP 获取远程目录数据。最好将远程目录数据检索删除到不同的 PowerShell 脚本 #2 中。
这篇 SO 文章解释了从脚本中启动脚本。但在这种情况下,第一个脚本似乎在第二个脚本执行时暂停。
我如何编写脚本 #1 以便脚本 #2 被启动并被遗忘,并且脚本 #1 继续并快速完成,让脚本 #2 在后台完成。
我有一个 C# 应用程序可以防止屏幕捕获,但我想禁用“黑屏”。
这是我的代码:
[DllImport("user32.dll")]
public static extern uint SetWindowDisplayAffinity(IntPtr hWnd, uint dwAffinity);
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
SetWindowDisplayAffinity(this.Handle, WDA_MONITOR);
}
Run Code Online (Sandbox Code Playgroud)
我可以通过什么方式禁用它?
我有一个包含多个的表单UserControls.
当按下用户控件内的按钮时,它将打开并添加另一个用户控件,包含一个文本框和2个按钮.
打开此用户控件后,焦点/光标将立即转到文本框.
按TAB键可将焦点从一个控件转移到另一个控件,在整个表单中移动.
所以基本上我想避免这种情况.
即,有一个UserControl名为XXX 的对象.现在,当我单击其中的"打开编辑"按钮时,它会UserControl在XXX中打开一个名为YYY 的新对象.
UserControl YYY有一个文本框和2(保存和取消)按钮.
我想确保Tab键始终将焦点保持在YYY内,直到YYY关闭为止,单击Cancel按钮.
我不确定是否有广泛的TabStop财产?或者我应该循环其他控件并将其设置TabStop为FALSE?
考虑到在不同的类下有许多其他UserControl,它有点乏味.
有没有更简单的方法来实现这一目标?
这是否可以PictureBox在 Windows 窗体中使用三角形控件而不是矩形控件?
我试图让我的WebBrowser控件选择一个单选按钮,并单击一个没有任何 ID 或名称的提交按钮。
这是网页中的html代码:
<form method="post">
<input type="radio" name="chosen" value="3" id="a3">
<input type="radio" name="chosen" value="2" id="a2">
<input type="radio" name="chosen" value="1" id="a1">
<input value="Next" type="submit">
</form>
Run Code Online (Sandbox Code Playgroud)
这是我尝试过的 C# 代码:
wbv(3); //This part just check every 3 seconds to see if the page the page has loaded before continuing with the code
webBrowser1.Document.GetElementsByTagName("input").GetElementsByName("chosen")[2].InvokeMember("click");
webBrowser1.Document.GetElementsByTagName("input").GetElementsByValue("Next")[0].InvokeMember("click");
Run Code Online (Sandbox Code Playgroud)
我需要帮助弄清楚如何让我的代码选择radio值为 3 的submit按钮,然后单击该按钮。
c# ×9
winforms ×8
.net ×5
powershell ×2
cmdlet ×1
cmdlets ×1
combobox ×1
date ×1
gdi+ ×1
html ×1
namespaces ×1
picturebox ×1
user32 ×1