用的本地局域網,記錄的欄位包括用戶登錄名、用戶電腦ip、操作內容、用戶操作時間、操作狀態(是否例外)這五個欄位,開發環境是vs2010的 .net4.0平臺,oracle11g,如果能用log4net就更好了,求大神幫忙,最好有詳細的配置和代碼。
uj5u.com熱心網友回復:
http://www.cnblogs.com/guwei4037/p/3504706.htmluj5u.com熱心網友回復:
@極簡 我想輸出局域網內所有登陸者的用戶名、ip、操作內容、操作時間、操作狀態該怎么改代碼?操作內容應該是每點擊一個功能按鈕都會記錄一條日志所以需要在那些按鈕中都添加相應的輸出代碼吧,怎么添呢?還有剛才我試了一下你的代碼,不知道在winform中怎么保存到資料庫!請原諒我這個新手菜鳥
uj5u.com熱心網友回復:
我可以回復嗎?uj5u.com熱心網友回復:
1.用戶進入任何一個表單時都給他系結滑鼠單擊事件和(鍵盤事件)可選/// <summary>
/// 系結滑鼠單擊事件
/// </summary>
/// <param name="items"></param>
public static void updateMouseClickEvent(Form col)
{
List<Control> list = new List<Control>();
list = GetAllControls(col);
if (list.Count == 0) return;
foreach (Control con in list)
((Control)con).MouseClick += new MouseEventHandler(MainWindow_MouseClick);
}
/// <summary>
/// 獲取控制元件中的所有子空間
/// </summary>
/// <param name="control"></param>
/// <returns></returns>
public static List<Control> GetAllControls(Control control)
{
var list = new List<Control>();
foreach (Control con in control.Controls)
{
list.Add(con);
if (con.Controls.Count > 0)
{
list.AddRange(GetAllControls(con));
}
}
return list;
}
/// <summary>
/// 表單點擊事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private static void MainWindow_MouseClick(object sender, MouseEventArgs e)
{
Control fm = (Control)sender;
if (fm is DataGridView) ***;
if (fm is MenuStrip) ***;
GoodsInfoAPI.constant.LastTime = DateTime.Now;
try
{
Control fm = (Control)sender;
if (fm is DataGridView) return;
if (fm is MenuStrip) return;
App.logWrite(fm.Name.ToString() + ":Text->:" + fm.Text + "--->Click");
}
catch (Exception ee)
{
App.logWrite(sender.ToString() + "--->Click");
App.logWrite("Comvert To form Error:" + ee.Message);
}
}
有沒有一點啟發?
在表單Load里面添加
updateMouseClickEvent(this);
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/121470.html
標籤:C#
上一篇:MonoDevelop 在Raspbian下報例外,“Error MSB4019: The imported project "
