menustrip怎样对子菜单进行权限控制,

图片说明menustrip怎样对子菜单进行权限控制,如图对基础资料设定,条码列印进行更细的权限设置

1个回答

无非就是递归遍历menustrip,得到菜单的名字或者tag,根据用户名,查询数据库,有没有对应的权限,如果没有,就禁用或者删除菜单。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
c# menustrip如何程序控制显示子菜单,不通过鼠标事件
如题c# menustrip如何程序控制显示子菜单,不通过鼠标事件,直接函数控制显示相应的子菜单
菜单控件根据权限是否显示
在主窗体引用了Menustrip的控件,假设一级菜单分别是 糖,烟,酒, 其中酒菜单下面有二级菜单啤酒,白酒,红酒。 想实现的效果:用户A只有啤酒权限,当A用户登录时候只显示一级菜单酒 和二级菜单啤酒。 请问这个应该怎么去实现,求大神指点思路方法?谢谢。 【我自己想着把所有菜单子项名称存入数据库。。。】
请问使用menustrip命名空间需要什么using指令?我使用的visual studio2012这个软件
请问使用menustrip命名空间需要什么using指令?我使用的visual studio2012这个软件 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data.SqlClient; protected void Page_Load(object sender, EventArgs e) { //创建MenuStrip对象 MenuStrip MS = new MenuStrip(); //创建一个ToolStripMenuItem菜单,可以文本和图片一并添加 ToolStripMenuItem tsmi = new ToolStripMenuItem("测试按钮"); //绑定菜单的点击事件 tsmi.Click+= DemoClick; //创建子菜单可以文本和图片一并添加 ToolStripMenuItem tsmi2 = new ToolStripMenuItem("测试子按钮"); //绑定子菜单点击事件 tsmi2.Click += DemoClick; //添加子菜单 tsmi.DropDownItems.Add(tsmi2); //添加主菜单 MS.Items.Add(tsmi); //界面显示 this.Controls.Add(MS); }
权限控制ToolStripMenuItem显示无效
qxmc是从数据库获得的字段名,字段名+ToolStripMenuItem 为menustrip下的ToolStripMenuItem的Name,但是获yhqx是boolean值,编写如下来控制是否显示但是运行后并没有实现,求大神帮忙看下问题出在哪? Dim uuu As String For i = 1 To JCXX.Columns.Count - 4 qxmc(i) = JCXX.Columns(i + 3).ColumnName yhqx(i) = JCXX.Rows(0).Item(qxmc(i)) uuu = qxmc(i) & "ToolStripMenuItem" Dim kjmc As New Control kjmc.Name = uuu.ToString kjmc.Visible = yhqx(i) Next
treeView 动态显示菜单 未将对象引用设置到对象的实例
#region 将MenuStrip控件中的信息添加到treeView控件中 /// <summary> /// 读取菜单中的信息. /// </summary> /// <param name="treeV">TreeView控件</param> /// <param name="MenuS">MenuStrip控件</param> public void GetMenu(TreeView treeV, MenuStrip MenuS) { for (int i = 0; i < MenuS.Items.Count; i++) //遍历MenuStrip组件中的一级菜单项 { //将一级菜单项的名称添加到TreeView组件的根节点中,并设置当前节点的子节点newNode1 TreeNode newNode1 = treeV.Nodes.Add(MenuS.Items[i].Text); newNode1.Tag = 0; //将当前菜单项的所有相关信息存入到ToolStripDropDownItem对象中 ToolStripDropDownItem newmenu = (ToolStripDropDownItem)MenuS.Items[i]; //判断当前菜单项中是否有二级菜单项 if (newmenu.HasDropDownItems && newmenu.DropDownItems.Count > 0) for (int j = 0; j < newmenu.DropDownItems.Count; j++) //遍历二级菜单项 { //将二级菜单名称添加到TreeView组件的子节点newNode1中,并设置当前节点的子节点newNode2 TreeNode newNode2 = newNode1.Nodes.Add(newmenu.DropDownItems[j].Text); newNode2.Tag = int.Parse(newmenu.DropDownItems[j].Tag.ToString()); // *未将对象引用设置到对象的实例。* //将当前菜单项的所有相关信息存入到ToolStripDropDownItem对象中 ToolStripDropDownItem newmenu2 = (ToolStripDropDownItem)newmenu.DropDownItems[j]; } } } #endregion
MDI子窗体最大化显示问题
![图片说明](https://img-ask.csdn.net/upload/201507/14/1436873585_934550.jpg) 在MDI子窗体 1、放了一个菜单 Me.MenuStrip1 .Dock =DockStyle.Top; 设置“窗口”菜单存放子窗体标题 Me.MenuStrip1.MdiWindowListItem = 窗口ToolStripMenuItem; 2、放了一个Panel1控件 Me.Panel1 .Dock =DockStyle.Fill; 3、在Panel控件上放了一个按钮,用于打开一个子窗体,click事件代码为: Dim frm As Form2 = New Form2() frm.MdiParent = Me frm.Parent = Me.Panel1 frm.Show() 运行结果为,子窗体显示在了Panel控件之上,但子窗体最大化后,如上截图,子窗体的标题栏不能与主窗体标题合并显示,且窗口菜单中也不显示子窗体的标题?请达人解惑?
动态创建Menu c# ado.net
想动态创建menustrip,下面的代码在form里有用,但是在copy到cs里面却报了4个错, this.Hide();, this.SuspendLayout();, this.Controls.Add(this.menuStrip1);, this.ResumeLayout(false); ``` private void 工序录入ToolStripMenuItem_Click(object sender, EventArgs e) { 工序资料维护 frmGXLR = new 工序资料维护(); frmGXLR.Show(); this.Hide(); } private void 录入ToolStripMenuItem1_Click(object sender, EventArgs e) { 中小修管理录入 frmZXXGLLR = new 中小修管理录入(); frmZXXGLLR.Show(); this.Hide(); } //动态创建menuSctrip private void addMenuSctrip() { this.menuStrip1 = new System.Windows.Forms.MenuStrip(); this.文件ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuStrip1.SuspendLayout(); this.SuspendLayout(); // // menuStrip1 // this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.文件ToolStripMenuItem, this.menuStrip1.Location = new System.Drawing.Point(0, 0); this.menuStrip1.Name = "menuStrip1"; this.menuStrip1.Size = new System.Drawing.Size(284, 25); this.menuStrip1.TabIndex = 40; this.menuStrip1.Text = "menuStrip1"; // // // 文件ToolStripMenuItem // this.文件ToolStripMenuItem.Name = "文件ToolStripMenuItem"; this.文件ToolStripMenuItem.Size = new System.Drawing.Size(44, 21); this.文件ToolStripMenuItem.Text = "文件"; this.Controls.Add(this.menuStrip1); this.menuStrip1.ResumeLayout(false); this.menuStrip1.PerformLayout(); this.ResumeLayout(false); } private System.Windows.Forms.MenuStrip menuStrip1; private System.Windows.Forms.ToolStripMenuItem 文件ToolStripMenuItem; ```
关于动态创建MenuScrip,怎么把menuScrip写进一个。cs文件里
如果直接copy进一个.CS文件里,提示 this.Hide();、 this.SuspendLayout();、 this.Controls.Add(this.menuStrip1);、this.ResumeLayout(false);错误 ``` private void 工序录入ToolStripMenuItem_Click(object sender, EventArgs e) { 工序资料维护 frmGXLR = new 工序资料维护(); frmGXLR.Show(); this.Hide(); } private void 录入ToolStripMenuItem1_Click(object sender, EventArgs e) { 中小修管理录入 frmZXXGLLR = new 中小修管理录入(); frmZXXGLLR.Show(); this.Hide(); } //动态创建menuSctrip private void addMenuSctrip() { this.menuStrip1 = new System.Windows.Forms.MenuStrip(); this.文件ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuStrip1.SuspendLayout(); this.SuspendLayout(); // // menuStrip1 // this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.文件ToolStripMenuItem, this.menuStrip1.Location = new System.Drawing.Point(0, 0); this.menuStrip1.Name = "menuStrip1"; this.menuStrip1.Size = new System.Drawing.Size(284, 25); this.menuStrip1.TabIndex = 40; this.menuStrip1.Text = "menuStrip1"; // // // 文件ToolStripMenuItem // this.文件ToolStripMenuItem.Name = "文件ToolStripMenuItem"; this.文件ToolStripMenuItem.Size = new System.Drawing.Size(44, 21); this.文件ToolStripMenuItem.Text = "文件"; this.Controls.Add(this.menuStrip1); this.menuStrip1.ResumeLayout(false); this.menuStrip1.PerformLayout(); this.ResumeLayout(false); } private System.Windows.Forms.MenuStrip menuStrip1; private System.Windows.Forms.ToolStripMenuItem 文件ToolStripMenuItem; ```
Winform TabControl控件改变Tab的位置
最近想用winform做一个win10的画图,现在要实现如下图的菜单栏样式 ![图片说明](https://img-ask.csdn.net/upload/201704/06/1491471981_241418.jpg) 文件按钮是MenuStrip,主页和查看是TabControl的两个Tab。现在我的想法是在winform里面把TabControl放在MenuStrip,如下图:![图片说明](https://img-ask.csdn.net/upload/201704/06/1491472547_885154.jpg)
c#父窗口子窗口的问题
Form cannot be both an MDI child and MDI parent. 我想实现的是当点击一级窗口menustrip的时候调用二级窗口,当二级窗口里点击某一个button的时候调用三级窗口,能实现吗,怎么实现。一级窗口其实是程序的主界面,二级窗口是某个功能模块,三级窗口是一种可供选择的信息。
c#反射加载模块是遇到的问题
通过反射加载模块时,先执行下面的方法,在执行上面的方法,红框处获取到的窗体的MenuStrip是正常的,但是如果先执行上面的方法,后执行下面的方法时,红框处上面的方法获取的MenuStrip的Items正常,下面方法获取的就为0,断点下载下方红框处,发现获取的窗体是正常的,请问大神如何解决,![图片说明](https://img-ask.csdn.net/upload/201611/04/1478231741_175068.png)
关于一个C#的窗口的状态栏 问题
![图片说明](https://img-ask.csdn.net/upload/201812/13/1544661249_375562.png) ![图片说明](https://img-ask.csdn.net/upload/201812/13/1544661258_649422.png) 状态栏我设置两个,结果就显示出一个,为什么呢?以下是design代码 namespace 窗体的综合 { partial class FormMain { /// <summary> /// Required designer variable. /// </summary> private System.ComponentModel.IContainer components = null; /// <summary> /// Clean up any resources being used. /// </summary> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormMain)); this.menuStrip1 = new System.Windows.Forms.MenuStrip(); this.系统ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.学生ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.帮助ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStrip1 = new System.Windows.Forms.ToolStrip(); this.toolStripButton2 = new System.Windows.Forms.ToolStripButton(); this.toolStripButton3 = new System.Windows.Forms.ToolStripButton(); this.toolStripButton1 = new System.Windows.Forms.ToolStripButton(); this.statusStrip1 = new System.Windows.Forms.StatusStrip(); this.st1 = new System.Windows.Forms.ToolStripStatusLabel(); this.st2 = new System.Windows.Forms.ToolStripStatusLabel(); this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.treeView1 = new System.Windows.Forms.TreeView(); this.splitContainer2 = new System.Windows.Forms.SplitContainer(); this.listView1 = new System.Windows.Forms.ListView(); this.listBox1 = new System.Windows.Forms.ListBox(); this.menuStrip1.SuspendLayout(); this.toolStrip1.SuspendLayout(); this.statusStrip1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit(); this.splitContainer2.Panel1.SuspendLayout(); this.splitContainer2.Panel2.SuspendLayout(); this.splitContainer2.SuspendLayout(); this.SuspendLayout(); // // menuStrip1 // this.menuStrip1.ImageScalingSize = new System.Drawing.Size(20, 20); this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.系统ToolStripMenuItem, this.学生ToolStripMenuItem, this.帮助ToolStripMenuItem}); this.menuStrip1.Location = new System.Drawing.Point(0, 0); this.menuStrip1.Name = "menuStrip1"; this.menuStrip1.Size = new System.Drawing.Size(688, 28); this.menuStrip1.TabIndex = 0; this.menuStrip1.Text = "menuStrip1"; // // 系统ToolStripMenuItem // this.系统ToolStripMenuItem.Name = "系统ToolStripMenuItem"; this.系统ToolStripMenuItem.Size = new System.Drawing.Size(51, 24); this.系统ToolStripMenuItem.Text = "系统"; // // 学生ToolStripMenuItem // this.学生ToolStripMenuItem.Name = "学生ToolStripMenuItem"; this.学生ToolStripMenuItem.Size = new System.Drawing.Size(51, 24); this.学生ToolStripMenuItem.Text = "学生"; // // 帮助ToolStripMenuItem // this.帮助ToolStripMenuItem.Name = "帮助ToolStripMenuItem"; this.帮助ToolStripMenuItem.Size = new System.Drawing.Size(51, 24); this.帮助ToolStripMenuItem.Text = "帮助"; // // toolStrip1 // this.toolStrip1.AutoSize = false; this.toolStrip1.ImageScalingSize = new System.Drawing.Size(20, 20); this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toolStripButton2, this.toolStripButton3, this.toolStripButton1}); this.toolStrip1.Location = new System.Drawing.Point(0, 28); this.toolStrip1.Name = "toolStrip1"; this.toolStrip1.Size = new System.Drawing.Size(688, 103); this.toolStrip1.TabIndex = 1; this.toolStrip1.Text = "toolStrip1"; // // toolStripButton2 // this.toolStripButton2.AutoSize = false; this.toolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.toolStripButton2.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton2.Image"))); this.toolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStripButton2.Name = "toolStripButton2"; this.toolStripButton2.Size = new System.Drawing.Size(100, 100); this.toolStripButton2.Text = "toolStripButton2"; // // toolStripButton3 // this.toolStripButton3.AutoSize = false; this.toolStripButton3.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.toolStripButton3.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton3.Image"))); this.toolStripButton3.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStripButton3.Name = "toolStripButton3"; this.toolStripButton3.Size = new System.Drawing.Size(100, 100); this.toolStripButton3.Text = "toolStripButton3"; // // toolStripButton1 // this.toolStripButton1.AutoSize = false; this.toolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.toolStripButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton1.Image"))); this.toolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStripButton1.Name = "toolStripButton1"; this.toolStripButton1.Size = new System.Drawing.Size(100, 100); this.toolStripButton1.Text = "toolStripButton1"; // // statusStrip1 // this.statusStrip1.ImageScalingSize = new System.Drawing.Size(20, 20); this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.st1, this.st2, this.toolStripStatusLabel1}); this.statusStrip1.Location = new System.Drawing.Point(0, 512); this.statusStrip1.Name = "statusStrip1"; this.statusStrip1.Size = new System.Drawing.Size(688, 29); this.statusStrip1.TabIndex = 2; this.statusStrip1.Text = "statusStrip1"; // // st1 // this.st1.AutoToolTip = true; this.st1.BorderSides = ((System.Windows.Forms.ToolStripStatusLabelBorderSides)((((System.Windows.Forms.ToolStripStatusLabelBorderSides.Left | System.Windows.Forms.ToolStripStatusLabelBorderSides.Top) | System.Windows.Forms.ToolStripStatusLabelBorderSides.Right) | System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom))); this.st1.BorderStyle = System.Windows.Forms.Border3DStyle.Bump; this.st1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; this.st1.ImageAlign = System.Drawing.ContentAlignment.BottomLeft; this.st1.Name = "st1"; this.st1.Size = new System.Drawing.Size(317, 24); this.st1.Spring = true; this.st1.Text = " "; this.st1.Click += new System.EventHandler(this.toolStripStatusLabel1_Click); // // st2 // this.st2.AutoToolTip = true; this.st2.BorderSides = ((System.Windows.Forms.ToolStripStatusLabelBorderSides)((((System.Windows.Forms.ToolStripStatusLabelBorderSides.Left | System.Windows.Forms.ToolStripStatusLabelBorderSides.Top) | System.Windows.Forms.ToolStripStatusLabelBorderSides.Right) | System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom))); this.st2.BorderStyle = System.Windows.Forms.Border3DStyle.Adjust; this.st2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; this.st2.ImageAlign = System.Drawing.ContentAlignment.BottomRight; this.st2.Name = "st2"; this.st2.Size = new System.Drawing.Size(317, 24); this.st2.Spring = true; this.st2.Click += new System.EventHandler(this.st2_Click); // // toolStripStatusLabel1 // this.toolStripStatusLabel1.Name = "toolStripStatusLabel1"; this.toolStripStatusLabel1.Size = new System.Drawing.Size(0, 24); // // splitContainer1 // this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; this.splitContainer1.Location = new System.Drawing.Point(0, 131); this.splitContainer1.Name = "splitContainer1"; // // splitContainer1.Panel1 // this.splitContainer1.Panel1.Controls.Add(this.treeView1); // // splitContainer1.Panel2 // this.splitContainer1.Panel2.Controls.Add(this.splitContainer2); this.splitContainer1.Size = new System.Drawing.Size(688, 381); this.splitContainer1.SplitterDistance = 229; this.splitContainer1.TabIndex = 3; // // treeView1 // this.treeView1.Dock = System.Windows.Forms.DockStyle.Fill; this.treeView1.Location = new System.Drawing.Point(0, 0); this.treeView1.Name = "treeView1"; this.treeView1.Size = new System.Drawing.Size(229, 381); this.treeView1.TabIndex = 0; // // splitContainer2 // this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill; this.splitContainer2.Location = new System.Drawing.Point(0, 0); this.splitContainer2.Name = "splitContainer2"; this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal; // // splitContainer2.Panel1 // this.splitContainer2.Panel1.Controls.Add(this.listView1); // // splitContainer2.Panel2 // this.splitContainer2.Panel2.Controls.Add(this.listBox1); this.splitContainer2.Panel2.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.splitContainer2.Size = new System.Drawing.Size(455, 381); this.splitContainer2.SplitterDistance = 37; this.splitContainer2.TabIndex = 0; // // listView1 // this.listView1.Dock = System.Windows.Forms.DockStyle.Fill; this.listView1.Location = new System.Drawing.Point(0, 0); this.listView1.Name = "listView1"; this.listView1.Size = new System.Drawing.Size(455, 37); this.listView1.TabIndex = 0; this.listView1.UseCompatibleStateImageBehavior = false; // // listBox1 // this.listBox1.Dock = System.Windows.Forms.DockStyle.Fill; this.listBox1.FormattingEnabled = true; this.listBox1.ItemHeight = 20; this.listBox1.Location = new System.Drawing.Point(0, 0); this.listBox1.Name = "listBox1"; this.listBox1.Size = new System.Drawing.Size(455, 340); this.listBox1.TabIndex = 0; // // FormMain // this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(688, 541); this.Controls.Add(this.splitContainer1); this.Controls.Add(this.statusStrip1); this.Controls.Add(this.toolStrip1); this.Controls.Add(this.menuStrip1); this.MainMenuStrip = this.menuStrip1; this.Name = "FormMain"; this.Text = "FormMain"; this.Load += new System.EventHandler(this.FormMain_Load); this.menuStrip1.ResumeLayout(false); this.menuStrip1.PerformLayout(); this.toolStrip1.ResumeLayout(false); this.toolStrip1.PerformLayout(); this.statusStrip1.ResumeLayout(false); this.statusStrip1.PerformLayout(); this.splitContainer1.Panel1.ResumeLayout(false); this.splitContainer1.Panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); this.splitContainer1.ResumeLayout(false); this.splitContainer2.Panel1.ResumeLayout(false); this.splitContainer2.Panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit(); this.splitContainer2.ResumeLayout(false); this.ResumeLayout(false); this.PerformLayout(); } #endregion private System.Windows.Forms.MenuStrip menuStrip1; private System.Windows.Forms.ToolStripMenuItem 系统ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem 学生ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem 帮助ToolStripMenuItem; private System.Windows.Forms.ToolStrip toolStrip1; private System.Windows.Forms.ToolStripButton toolStripButton2; private System.Windows.Forms.StatusStrip statusStrip1; private System.Windows.Forms.ToolStripStatusLabel st1; private System.Windows.Forms.ToolStripStatusLabel st2; private System.Windows.Forms.SplitContainer splitContainer1; private System.Windows.Forms.SplitContainer splitContainer2; private System.Windows.Forms.ToolStripButton toolStripButton3; private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1; private System.Windows.Forms.TreeView treeView1; private System.Windows.Forms.ListView listView1; private System.Windows.Forms.ListBox listBox1; private System.Windows.Forms.ToolStripButton toolStripButton1; } }
错误 1 当前上下文中不存在名称“menuitem_Click 代码如下
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.IO; namespace MenuHistory { public partial class Form1 : Form { public Form1() { InitializeComponent(); string address = System.Environment.CurrentDirectory; } private void openFileDialog1_FileOk(object sender, CancelEventArgs e) { } private void 打开ToolStripMenuItem_Click(object sender, EventArgs e) { openFileDialog1.FileName = ""; this.openFileDialog1.ShowDialog(); StreamWriter s = new StreamWriter("Menu.ini", true); s.WriteLine(openFileDialog1.FileName); s.Flush(); s.Close(); ShowWindows(openFileDialog1.FileName); } private void menuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { ToolStripMenuItem menu = (ToolStripMenuItem)sender; ShowWindows(menu.Text); } public void ShowWindows(string fileName) { Image p = Image.FromFile(fileName); Form f = new Form(); f.MdiParent = this; f.BackgroundImage = p; f.Show(); } private void Form1_Load(object sender, EventArgs e) { if (File.Exists("Menu.ini")) { StreamReader sr = new StreamReader("Menu.ini"); int i = this.文件ToolStripMenuItem.DropDownItems.Count; while (sr.Peek() >= 0) { ToolStripMenuItem menuitem = new ToolStripMenuItem(); this.文件ToolStripMenuItem.DropDownItems.Insert(i, menuitem); i++; menuitem.Click += new EventHandler(menuitem_Click); } sr.Close(); } } private void 退出ToolStripMenuItem_Click(object sender, EventArgs e) { Application.Exit(); } private void 关闭所有ToolStripMenuItem_Click(object sender, EventArgs e) { foreach (Form frm in this.MdiChildren) { frm.Close(); //关闭子窗体 } } } }
关于C#的一个超高难度状态栏问题
![图片说明](https://img-ask.csdn.net/upload/201812/16/1544939817_933066.png) 为什么? namespace Windows窗体应用综合 { partial class FrmMain { /// <summary> /// Required designer variable. /// </summary> private System.ComponentModel.IContainer components = null; /// <summary> /// Clean up any resources being used. /// </summary> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmMain)); this.menuStrip1 = new System.Windows.Forms.MenuStrip(); this.系统ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.退出ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.学生ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.增加ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.修改ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.删除ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.帮助ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.关于ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStrip1 = new System.Windows.Forms.ToolStrip(); this.btnAddStudent = new System.Windows.Forms.ToolStripButton(); this.btnUpdateStudent = new System.Windows.Forms.ToolStripButton(); this.toolStripButton4 = new System.Windows.Forms.ToolStripButton(); this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripButton3 = new System.Windows.Forms.ToolStripButton(); this.statusStrip1 = new System.Windows.Forms.StatusStrip(); this.lblLoginUser = new System.Windows.Forms.ToolStripStatusLabel(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.treeView1 = new System.Windows.Forms.TreeView(); this.splitContainer2 = new System.Windows.Forms.SplitContainer(); this.lvStudent = new System.Windows.Forms.ListView(); this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.columnHeader3 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.columnHeader4 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.columnHeader5 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.columnHeader6 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.listBox1 = new System.Windows.Forms.ListBox(); this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel(); this.menuStrip1.SuspendLayout(); this.toolStrip1.SuspendLayout(); this.statusStrip1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit(); this.splitContainer2.Panel1.SuspendLayout(); this.splitContainer2.Panel2.SuspendLayout(); this.splitContainer2.SuspendLayout(); this.SuspendLayout(); // // menuStrip1 // this.menuStrip1.ImageScalingSize = new System.Drawing.Size(20, 20); this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.系统ToolStripMenuItem, this.学生ToolStripMenuItem, this.帮助ToolStripMenuItem}); this.menuStrip1.Location = new System.Drawing.Point(0, 0); this.menuStrip1.Name = "menuStrip1"; this.menuStrip1.Size = new System.Drawing.Size(1147, 28); this.menuStrip1.TabIndex = 0; this.menuStrip1.Text = "menuStrip1"; // // 系统ToolStripMenuItem // this.系统ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.退出ToolStripMenuItem}); this.系统ToolStripMenuItem.Name = "系统ToolStripMenuItem"; this.系统ToolStripMenuItem.Size = new System.Drawing.Size(51, 24); this.系统ToolStripMenuItem.Text = "系统"; // // 退出ToolStripMenuItem // this.退出ToolStripMenuItem.Name = "退出ToolStripMenuItem"; this.退出ToolStripMenuItem.Size = new System.Drawing.Size(114, 26); this.退出ToolStripMenuItem.Text = "退出"; // // 学生ToolStripMenuItem // this.学生ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.增加ToolStripMenuItem, this.修改ToolStripMenuItem, this.删除ToolStripMenuItem}); this.学生ToolStripMenuItem.Name = "学生ToolStripMenuItem"; this.学生ToolStripMenuItem.Size = new System.Drawing.Size(51, 24); this.学生ToolStripMenuItem.Text = "学生"; // // 增加ToolStripMenuItem // this.增加ToolStripMenuItem.Name = "增加ToolStripMenuItem"; this.增加ToolStripMenuItem.Size = new System.Drawing.Size(114, 26); this.增加ToolStripMenuItem.Text = "增加"; // // 修改ToolStripMenuItem // this.修改ToolStripMenuItem.Name = "修改ToolStripMenuItem"; this.修改ToolStripMenuItem.Size = new System.Drawing.Size(114, 26); this.修改ToolStripMenuItem.Text = "修改"; // // 删除ToolStripMenuItem // this.删除ToolStripMenuItem.Name = "删除ToolStripMenuItem"; this.删除ToolStripMenuItem.Size = new System.Drawing.Size(114, 26); this.删除ToolStripMenuItem.Text = "删除"; // // 帮助ToolStripMenuItem // this.帮助ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.关于ToolStripMenuItem}); this.帮助ToolStripMenuItem.Name = "帮助ToolStripMenuItem"; this.帮助ToolStripMenuItem.Size = new System.Drawing.Size(51, 24); this.帮助ToolStripMenuItem.Text = "帮助"; // // 关于ToolStripMenuItem // this.关于ToolStripMenuItem.Name = "关于ToolStripMenuItem"; this.关于ToolStripMenuItem.Size = new System.Drawing.Size(114, 26); this.关于ToolStripMenuItem.Text = "关于"; // // toolStrip1 // this.toolStrip1.ImageScalingSize = new System.Drawing.Size(48, 48); this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.btnAddStudent, this.btnUpdateStudent, this.toolStripButton4, this.toolStripSeparator1, this.toolStripButton3}); this.toolStrip1.Location = new System.Drawing.Point(0, 28); this.toolStrip1.Name = "toolStrip1"; this.toolStrip1.Size = new System.Drawing.Size(1147, 75); this.toolStrip1.TabIndex = 1; this.toolStrip1.Text = "toolStrip1"; // // btnAddStudent // this.btnAddStudent.Image = ((System.Drawing.Image)(resources.GetObject("btnAddStudent.Image"))); this.btnAddStudent.ImageTransparentColor = System.Drawing.Color.Magenta; this.btnAddStudent.Name = "btnAddStudent"; this.btnAddStudent.Size = new System.Drawing.Size(73, 72); this.btnAddStudent.Text = "增加学生"; this.btnAddStudent.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; // // btnUpdateStudent // this.btnUpdateStudent.Image = ((System.Drawing.Image)(resources.GetObject("btnUpdateStudent.Image"))); this.btnUpdateStudent.ImageTransparentColor = System.Drawing.Color.Magenta; this.btnUpdateStudent.Name = "btnUpdateStudent"; this.btnUpdateStudent.Size = new System.Drawing.Size(73, 72); this.btnUpdateStudent.Text = "修改学生"; this.btnUpdateStudent.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; // // toolStripButton4 // this.toolStripButton4.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton4.Image"))); this.toolStripButton4.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStripButton4.Name = "toolStripButton4"; this.toolStripButton4.Size = new System.Drawing.Size(73, 72); this.toolStripButton4.Text = "删除学生"; this.toolStripButton4.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; // // toolStripSeparator1 // this.toolStripSeparator1.Name = "toolStripSeparator1"; this.toolStripSeparator1.Size = new System.Drawing.Size(6, 75); // // toolStripButton3 // this.toolStripButton3.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton3.Image"))); this.toolStripButton3.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStripButton3.Name = "toolStripButton3"; this.toolStripButton3.Size = new System.Drawing.Size(73, 72); this.toolStripButton3.Text = "退出系统"; this.toolStripButton3.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; // // statusStrip1 // this.statusStrip1.ImageScalingSize = new System.Drawing.Size(20, 20); this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.lblLoginUser, this.toolStripStatusLabel1}); this.statusStrip1.Location = new System.Drawing.Point(0, 607); this.statusStrip1.Name = "statusStrip1"; this.statusStrip1.Size = new System.Drawing.Size(1147, 24); this.statusStrip1.TabIndex = 3; this.statusStrip1.Text = "statusStrip1"; this.statusStrip1.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.statusStrip1_ItemClicked); // // lblLoginUser // this.lblLoginUser.BorderSides = ((System.Windows.Forms.ToolStripStatusLabelBorderSides)((((System.Windows.Forms.ToolStripStatusLabelBorderSides.Left | System.Windows.Forms.ToolStripStatusLabelBorderSides.Top) | System.Windows.Forms.ToolStripStatusLabelBorderSides.Right) | System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom))); this.lblLoginUser.BorderStyle = System.Windows.Forms.Border3DStyle.SunkenInner; this.lblLoginUser.Name = "lblLoginUser"; this.lblLoginUser.Size = new System.Drawing.Size(1093, 19); this.lblLoginUser.Spring = true; this.lblLoginUser.Click += new System.EventHandler(this.lblLoginUser_Click); // // splitContainer1 // this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; this.splitContainer1.Location = new System.Drawing.Point(0, 103); this.splitContainer1.Name = "splitContainer1"; // // splitContainer1.Panel1 // this.splitContainer1.Panel1.Controls.Add(this.treeView1); // // splitContainer1.Panel2 // this.splitContainer1.Panel2.Controls.Add(this.splitContainer2); this.splitContainer1.Size = new System.Drawing.Size(1147, 504); this.splitContainer1.SplitterDistance = 382; this.splitContainer1.TabIndex = 4; // // treeView1 // this.treeView1.Dock = System.Windows.Forms.DockStyle.Fill; this.treeView1.Location = new System.Drawing.Point(0, 0); this.treeView1.Name = "treeView1"; this.treeView1.Size = new System.Drawing.Size(382, 504); this.treeView1.TabIndex = 0; // // splitContainer2 // this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill; this.splitContainer2.Location = new System.Drawing.Point(0, 0); this.splitContainer2.Name = "splitContainer2"; this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal; // // splitContainer2.Panel1 // this.splitContainer2.Panel1.Controls.Add(this.lvStudent); // // splitContainer2.Panel2 // this.splitContainer2.Panel2.Controls.Add(this.listBox1); this.splitContainer2.Size = new System.Drawing.Size(761, 504); this.splitContainer2.SplitterDistance = 294; this.splitContainer2.TabIndex = 0; // // lvStudent // this.lvStudent.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { this.columnHeader1, this.columnHeader2, this.columnHeader3, this.columnHeader4, this.columnHeader5, this.columnHeader6}); this.lvStudent.Dock = System.Windows.Forms.DockStyle.Fill; this.lvStudent.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.lvStudent.GridLines = true; this.lvStudent.Location = new System.Drawing.Point(0, 0); this.lvStudent.Name = "lvStudent"; this.lvStudent.Size = new System.Drawing.Size(761, 294); this.lvStudent.TabIndex = 0; this.lvStudent.UseCompatibleStateImageBehavior = false; this.lvStudent.View = System.Windows.Forms.View.Details; // // columnHeader1 // this.columnHeader1.Text = "学号"; this.columnHeader1.Width = 129; // // columnHeader2 // this.columnHeader2.Text = "姓名"; this.columnHeader2.Width = 100; // // columnHeader3 // this.columnHeader3.Text = "性别"; this.columnHeader3.Width = 80; // // columnHeader4 // this.columnHeader4.Text = "年级"; this.columnHeader4.Width = 100; // // columnHeader5 // this.columnHeader5.Text = "专业"; this.columnHeader5.Width = 100; // // columnHeader6 // this.columnHeader6.Text = "备注"; this.columnHeader6.Width = 300; // // listBox1 // this.listBox1.Dock = System.Windows.Forms.DockStyle.Fill; this.listBox1.FormattingEnabled = true; this.listBox1.ItemHeight = 15; this.listBox1.Location = new System.Drawing.Point(0, 0); this.listBox1.Name = "listBox1"; this.listBox1.Size = new System.Drawing.Size(761, 206); this.listBox1.TabIndex = 0; // // toolStripStatusLabel1 // this.toolStripStatusLabel1.Name = "toolStripStatusLabel1"; this.toolStripStatusLabel1.Size = new System.Drawing.Size(0, 19); // // FrmMain // this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(1147, 631); this.Controls.Add(this.splitContainer1); this.Controls.Add(this.statusStrip1); this.Controls.Add(this.toolStrip1); this.Controls.Add(this.menuStrip1); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MainMenuStrip = this.menuStrip1; this.Name = "FrmMain"; this.Text = " "; this.menuStrip1.ResumeLayout(false); this.menuStrip1.PerformLayout(); this.toolStrip1.ResumeLayout(false); this.toolStrip1.PerformLayout(); this.statusStrip1.ResumeLayout(false); this.statusStrip1.PerformLayout(); this.splitContainer1.Panel1.ResumeLayout(false); this.splitContainer1.Panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); this.splitContainer1.ResumeLayout(false); this.splitContainer2.Panel1.ResumeLayout(false); this.splitContainer2.Panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit(); this.splitContainer2.ResumeLayout(false); this.ResumeLayout(false); this.PerformLayout(); } #endregion private System.Windows.Forms.MenuStrip menuStrip1; private System.Windows.Forms.ToolStripMenuItem 系统ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem 退出ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem 学生ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem 增加ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem 修改ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem 删除ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem 帮助ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem 关于ToolStripMenuItem; private System.Windows.Forms.ToolStrip toolStrip1; private System.Windows.Forms.ToolStripButton btnAddStudent; private System.Windows.Forms.ToolStripButton btnUpdateStudent; private System.Windows.Forms.ToolStripButton toolStripButton4; private System.Windows.Forms.ToolStripButton toolStripButton3; private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; private System.Windows.Forms.StatusStrip statusStrip1; private System.Windows.Forms.SplitContainer splitContainer1; private System.Windows.Forms.TreeView treeView1; private System.Windows.Forms.SplitContainer splitContainer2; private System.Windows.Forms.ListView lvStudent; private System.Windows.Forms.ListBox listBox1; private System.Windows.Forms.ToolStripStatusLabel lblLoginUser; private System.Windows.Forms.ColumnHeader columnHeader1; private System.Windows.Forms.ColumnHeader columnHeader2; private System.Windows.Forms.ColumnHeader columnHeader3; private System.Windows.Forms.ColumnHeader columnHeader4; private System.Windows.Forms.ColumnHeader columnHeader5; private System.Windows.Forms.ColumnHeader columnHeader6; private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1; } }这是我删了第二个状态栏后,design代码
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
有哪些让程序员受益终生的建议
从业五年多,辗转两个大厂,出过书,创过业,从技术小白成长为基层管理,联合几个业内大牛回答下这个问题,希望能帮到大家,记得帮我点赞哦。 敲黑板!!!读了这篇文章,你将知道如何才能进大厂,如何实现财务自由,如何在工作中游刃有余,这篇文章很长,但绝对是精品,记得帮我点赞哦!!!! 一腔肺腑之言,能看进去多少,就看你自己了!!! 目录: 在校生篇: 为什么要尽量进大厂? 如何选择语言及方...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小型人工智障。 知识可以运用在不同地方,不一定非是天气预报。
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
英特尔不为人知的 B 面
从 PC 时代至今,众人只知在 CPU、GPU、XPU、制程、工艺等战场中,英特尔在与同行硬件芯片制造商们的竞争中杀出重围,且在不断的成长进化中,成为全球知名的半导体公司。殊不知,在「刚硬」的背后,英特尔「柔性」的软件早已经做到了全方位的支持与支撑,并持续发挥独特的生态价值,推动产业合作共赢。 而对于这一不知人知的 B 面,很多人将其称之为英特尔隐形的翅膀,虽低调,但是影响力却不容小觑。 那么,在...
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
白话阿里巴巴Java开发手册高级篇
不久前,阿里巴巴发布了《阿里巴巴Java开发手册》,总结了阿里巴巴内部实际项目开发过程中开发人员应该遵守的研发流程规范,这些流程规范在一定程度上能够保证最终的项目交付质量,通过在时间中总结模式,并推广给广大开发人员,来避免研发人员在实践中容易犯的错误,确保最终在大规模协作的项目中达成既定目标。 无独有偶,笔者去年在公司里负责升级和制定研发流程、设计模板、设计标准、代码标准等规范,并在实际工作中进行...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
redis分布式锁,面试官请随便问,我都会
文章有点长并且绕,先来个图片缓冲下! 前言 现在的业务场景越来越复杂,使用的架构也就越来越复杂,分布式、高并发已经是业务要求的常态。像腾讯系的不少服务,还有CDN优化、异地多备份等处理。 说到分布式,就必然涉及到分布式锁的概念,如何保证不同机器不同线程的分布式锁同步呢? 实现要点 互斥性,同一时刻,智能有一个客户端持有锁。 防止死锁发生,如果持有锁的客户端崩溃没有主动释放锁,也要保证锁可以正常释...
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
Nginx 原理和架构
Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器。Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。 Nginx 的整体架构 Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程及非停升级。worker 进程负责处...
Python 编程开发 实用经验和技巧
Python是一门很灵活的语言,也有很多实用的方法,有时候实现一个功能可以用多种方法实现,我这里总结了一些常用的方法和技巧,包括小数保留指定位小数、判断变量的数据类型、类方法@classmethod、制表符中文对齐、遍历字典、datetime.timedelta的使用等,会持续更新......
YouTube排名第一的励志英文演讲《Dream(梦想)》
Idon’t know what that dream is that you have, I don't care how disappointing it might have been as you've been working toward that dream,but that dream that you’re holding in your mind, that it’s po...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
Java世界最常用的工具类库
Apache Commons Apache Commons有很多子项目 Google Guava 参考博客
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员...
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC...
8年经验面试官详解 Java 面试秘诀
作者 |胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。 Java程序员准备和投递简历的实...
面试官如何考察你的思维方式?
1.两种思维方式在求职面试中,经常会考察这种问题:北京有多少量特斯拉汽车?某胡同口的煎饼摊一年能卖出多少个煎饼?深圳有多少个产品经理?一辆公交车里能装下多少个乒乓球?一个正常成年人有多少根头发?这类估算问题,被称为费米问题,是以科学家费米命名的。为什么面试会问这种问题呢?这类问题能把两类人清楚地区分出来。一类是具有文科思维的人,擅长赞叹和模糊想象,它主要依靠的是人的第一反应和直觉,比如小孩...
全网阅读过20k的Java集合框架常见面试题总结!
本文为 SnailClimb 的原创,目前已经收录自我开源的 JavaGuide 中(61.5 k Star!【Java学习 面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。欢迎 Star!)。 文末有我的公众号,公众号里有我最新整理的Java学习资料,免费分享。 这么好的文章,一定好先赞后看!!!建议养成这个好习惯!!爱你们!???? 剖析面试最常见问题之Java集合框架 当了...
相关热词 基于c#波形控件 c# 十进制转十六进制 对文件aes加密vc# c#读取栈中所有的值 c# rsa256加密 好 学c# 还是c++ c# 和java的差距 c# curl网络框架 c# https证书请求 c# 中崎
立即提问