我想使用c#手动触发事件.例如,假设我想从表单B中激活表单A的Form_closing事件.怎么做?
得到一些评论后.我想我需要对此进行更多解释.
由于我的表单A引用了.dll,它在桌面上创建了一个自定义任务栏,因此我可以从表单B中关闭该自定义任务栏.我已经尝试过表单B中的FormA.Close().这样,.dll将从应用程序域中卸载,因此自定义任务栏占用的空间将被阻止.
但是,当我单击自定义任务栏中的关闭按钮时,情况并非如此.当我这样做时,空间被释放了.
这就是我想从表格B手动触发表格A的关闭事件的原因,这将解决我的问题.
谢谢.
我不想让用户双击我的按钮.在第一次单击时,它应该被禁用,一旦我的代码被执行,我应该启用该按钮.怎么做 ?
我正在研究连接到MySql服务器的ac#应用程序.大约有20个函数将连接到数据库.该应用程序将部署在200台以上的机器上.我使用以下代码连接到我的数据库,这对所有功能都是相同的.问题是,我可以在200多台机器上部署时,某些连接没有关闭并且仍然存在.
连接字符串:
<add key="Con_Admin" value="server=test-dbserver; database=test_admindb; uid=admin; password=1Password; Use Procedure Bodies=false;" />
Run Code Online (Sandbox Code Playgroud)
应用程序[Global.cs]中的全局声明连接字符串:
public static MySqlConnection myConn_Instructor = new MySqlConnection(ConfigurationSettings.AppSettings["Con_Admin"]);
Run Code Online (Sandbox Code Playgroud)
查询数据库的功能:
public static DataSet CheckLogin_Instructor(string UserName, string Password)
{
DataSet dsValue = new DataSet();
//MySqlConnection myConn = new MySqlConnection(ConfigurationSettings.AppSettings["Con_Admin"]);
try
{
string Query = "SELECT accounts.str_nric AS Nric, accounts.str_password AS `Password`," +
" FROM accounts " +
" WHERE accounts.str_nric = '" + UserName + "' AND accounts.str_password = '" + Password + "\'";
MySqlCommand cmd = new MySqlCommand(Query, Global.myConn_Instructor); …
Run Code Online (Sandbox Code Playgroud) 点击按钮我需要阅读HTML文件并将其转换为PDF.PDF生成没有任何问题.但是,转换为PDF时,表中列的宽度均匀分布.但我需要我桌子的第一列占据桌子总面积的70%(540)
我怎样才能做到这一点?
Template.html:
<table runat="server" id="header" border="3" width="540">
<tr>
<td style="width:70%; text-align: center; font-weight: bold;">
<strong>Test Specification </strong>
</td>
<td style="width:10%; text-align: center; font-weight: bold;">
<strong>GST </strong>
</td>
<td style="width:10%; text-align: center; font-weight: bold;">
<strong>Service </strong>
</td>
<td style="width:10%; text-align: center; font-weight: bold;">
<strong>Amount </strong>
</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
单击按钮将HTML转换为PDF:
protected void Button1_Click(object sender, EventArgs e)
{
String htmlText = System.IO.File.ReadAllText(Request.PhysicalApplicationPath + "\\Template.htm");
Document document = new Document();
PdfWriter.GetInstance(document, new FileStream(Request.PhysicalApplicationPath + DateTime.Now.ToString("ddMMyyyy") + "_" + DateTime.Now.ToString("HHmmss tt") + ".pdf", FileMode.Create)); …
Run Code Online (Sandbox Code Playgroud) 我正在运行Windows XP 64位.我想在运行我的应用程序时隐藏任务栏.
我通过搜索网络尝试了代码.在所有这些中,它隐藏了任务栏.但问题是,当我打开记事本并最大化它时,它实际上并不是全屏.因为任务栏所在的空间仍然被空白空间阻挡.我希望它真的适合全屏模式.
我试图从一个不同的线程访问一个表单到创建表单的表单,最后得到一个错误:
跨线程操作无效
码:
public static void MakeTopMost(Form form)
{
SetWindowPos(form.Handle, HWND_TOPMOST, 0, 0, 0, 0, TOPMOST_FLAGS);
}
Run Code Online (Sandbox Code Playgroud)
我正在传递一个在另一个线程中运行的表单.我试过测试InvokeRequired
,但总是假的.
我是线程新手.
我正在尝试使用Dotnet在Ektron上做一个新项目.我发现在stackoverflow中发布的问题和它们的响应相当少.使用Ektron进行开发时,最好的网站是什么才能让我的疑虑得到澄清.谢谢.
我使用下面的SP来返回Generated Insert语句的值,它在Query浏览器中执行时工作正常.
当我试图从C#中获取值时,它会给我"System.Byte []"作为返回值.当我尝试从MySql查询浏览器获取值时,它给我的返回值为:
'插入admindb.accounts值("54321","2","karthik2","karthik2","1");'
我想问题是返回值的单引号.是这样吗 ?
DELIMITER $$
DROP PROCEDURE IF EXISTS `admindb`.`InsGen` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `InsGen`(
in_db varchar(20),
in_table varchar(20),
in_ColumnName varchar(20),
in_ColumnValue varchar(20)
)
BEGIN
declare Whrs varchar(500);
declare Sels varchar(500);
declare Inserts varchar(2000);
declare tablename varchar(20);
declare ColName varchar(20);
set tablename=in_table;
# Comma separated column names - used for Select
select group_concat(concat('concat(\'"\',','ifnull(',column_name,','''')',',\'"\')'))
INTO @Sels from information_schema.columns where table_schema=in_db and table_name=tablename;
# Comma separated column names - used for Group By
select group_concat('`',column_name,'`')
INTO @Whrs from …
Run Code Online (Sandbox Code Playgroud)