winform问题,求解答!

lzj314145738 2010-09-08 11:08:47
1给个使用helpprovider的代码,按f1可打开一个帮助文件。要添加哪些控件,和代码,求详细步骤,谢谢!
2一个可下拉的combobox控件。下拉后又open,和exit两个选项,点击open时打开一个新的form2窗口。求详细步骤,谢谢,
...全文
184 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzj314145738 2010-09-10
  • 打赏
  • 举报
回复
第一个一直不成功,要不要建一个文件啊?
ljb3326 2010-09-08
  • 打赏
  • 举报
回复
不懂 顶。。。。。。。。。。。
bloodish 2010-09-08
  • 打赏
  • 举报
回复
补一下这两个PInvoke,

public const int SW_SHOWNORMAL = 1;

[DllImport("User32.dll")]
public static extern bool ShowWindowAsync(
IntPtr hWnd, int cmdShow);

[DllImport("User32.dll")]
public static extern bool
SetForegroundWindow(IntPtr hWnd);
  • 打赏
  • 举报
回复
1.
加一个helpProvider1控件,FormLoad加入以下代码
helpProvider1.HelpNamespace = @"C:\WINDOWS\Help\acc_dis.chm";
helpProvider1.SetHelpNavigator(this, HelpNavigator.KeywordIndex);
helpProvider1.SetHelpKeyword(this, "");

2.如果是下拉列表里有两个选项,那就这样
加一个列表框,Form_Load加入
this.comboBox1.Items.Add("Open");
this.comboBox1.Items.Add("Exit");
列表框事件
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.comboBox1.SelectedIndex == 0)
{
Form2 frm = new Form2();
frm.ShowDialog();
frm = null;
}
}










龟仙 2010-09-08
  • 打赏
  • 举报
回复
baidu
google
。。。。。
资源丰富的很。。。
bloodish 2010-09-08
  • 打赏
  • 举报
回复

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
ComboBox cbx = new ComboBox();
cbx.Items.Add("Open");
cbx.Items.Add("Exit"); ;
cbx.SelectedIndexChanged += new EventHandler(cbx_SelectedIndexChanged);
}

void cbx_SelectedIndexChanged(object sender, EventArgs e)
{
ComboBox cbx = (sender as ComboBox);
//选择Open则新开窗口
if(cbx.SelectedItem.ToString() == "Open")
{
Form newForm = new Form();
newForm.Show();
}
}

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.F1)
{
string helpChm = @"c:\Help.chm";
Process helpProcess = null;
if (File.Exists(helpChm))
{
//避免重复打开
if (helpProcess != null && !helpProcess.HasExited)
{
User32.ShowWindowAsync(helpProcess.MainWindowHandle, User32.SW_SHOWNORMAL);
User32.SetForegroundWindow(helpProcess.MainWindowHandle);
return;
}
helpProcess = Process.Start(helpChm);
helpProcess.Exited += delegate(object sender, EventArgs e)
{
helpProcess.Dispose();
helpProcess= null;
};
}
}

return base.ProcessCmdKey(ref msg, keyData);
}
}

wuyq11 2010-09-08
  • 打赏
  • 举报
回复
Form的KeyDown中
if (e.KeyCode == Keys.F1) {
string filePath = Path.Combine(Application.StartupPath,@"Help.chm") ;
if(File.Exists(filePath)) {
System.Diagnostics.Process.Start(filePath);
}
}

http://www.codeproject.com/KB/combobox/multicolumncombo.aspx
浪子-无悔 2010-09-08
  • 打赏
  • 举报
回复
LS给的方法就可以了 ,楼主这个不会是作业吧。
此问题我觉得是程序员应该问的可能性不大哈。。。
lzj314145738 2010-09-08
  • 打赏
  • 举报
回复
帮助的代码怎么写啊
不懂装懂 2010-09-08
  • 打赏
  • 举报
回复
1、随便一个控件,设置快捷键为f1,在click事件里写打开帮助的代码
2、combox里selectindexchange事件里判断if(combox.selectvalue=='open')form2 frm=new form2();frm.show();
lzj314145738 2010-09-08
  • 打赏
  • 举报
回复
什么菜单控件?toolstrip?
在路上20130607 2010-09-08
  • 打赏
  • 举报
回复
要有 菜单控件 winform 设置快捷键 shout key?
一个菜单控件都能解决吧
lzj314145738 2010-09-08
  • 打赏
  • 举报
回复
不是作业啊,我自己看的vs2005高级编程,按书上代码写了没用,所以来求解答,高手,快出现啊
ll314145738 2010-09-08
  • 打赏
  • 举报
回复
建一个helpprovider控件,在建一个帮助文件,代码如下
helpprovider.star;
ym_pang_pang 2010-09-08
  • 打赏
  • 举报
回复
不懂 帮顶……
这是作业??

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧