MS .Net C# winform UI related tips:Increasing the width of label according to text width (winform Label wordwrap)

If you want Label to grow as its text grows:

Label.AutoSize=true;

(this will make your label to grow in width)
if you want text to get wrapped and your label to become, multiline automatically:

Label.MaximumSize = new Size(max_width_of_label, 0);
Label.AutoSize=true;

(in above label will grow but will not take care of other control, i mean it will not care about them, just try your self and see what happens)

You may also like to see:

Published in: on July 23, 2010 at 4:05 pm  Leave a Comment  
Tags: ,

ASP .Net 2003 : Error while trying to run project: Unable to start debugging on the web server. Server side-error occurred on sending debug HTTP request.(HTTP/1.1 500 Internal Server Error)

My friend copied his project from another machine to his machine, project was in asp .net 2003 fromat, which was working well in old machine. But when he tried to run it(for debugging purpose) from visual studio 2003 it gave following error :
—————————
Microsoft Development Environment
—————————
Error while trying to run project: Unable to start debugging on the web server. Server side-error occurred on sending debug HTTP request.
Make sure the server is operating correctly. Verify there are no syntax errors in web.config by doing a Debug.Start Without Debugging. You may also want to refer to the ASP.NET and ATL Server debugging topic in the online documentation.
—————————
OK   Help
—————————
Even we tried to run using url http:\\localhost\virtual_dir_name\page.aspx, but it was still giving error something like ‘HTTP/1.1 500 Internal Server Error’. Finally after searching over net we found following solution at byte.com.
For us second solution worked. We did following step:
1.Deleted ASPNET windows user account (from control panel->User Accounts->Users Tab)
2.And then in command prompt(cmd, not vs command prompt) went to framework directory, i.e., in our case
C:\Windows\Microsoft.NET\Framework\v1.1.4322 and ran the command “aspnet_regiis -i” (to re-register the Framework 1.1 and reinstall ASPNET user).
And bingo !!! it worked without even restarting the machine/server.
Above solution solution also solved following problem.
We also faced the problem on creating new web project using asp.net 2003 on same machine, got the error:
—————————
Microsoft Development Environment
—————————
The Web server reported the following error when attempting to create or open the Web project located at the following URL: ‘http://localhost/WebApplication1’. ‘HTTP/1.1 500 Server Error’.
—————————
OK   Help
—————————

Reference:

Published in: on June 2, 2010 at 10:07 am  Comments (2)  
Tags: ,

introduction to interop: some good article from net

I was looking for some good tutorial on net for com interop, i got following nice articles:
http://msdn.microsoft.com/en-us/library/kew41ycz%28VS.71%29.aspx

http://radio.weblogs.com/0105852/stories/2002/11/14/introductionTonetComInterop.html


http://msdn.microsoft.com/en-us/magazine/cc163494.aspx

http://www.15seconds.com/Issue/040721.htm

Published in: on January 20, 2010 at 12:30 pm  Leave a Comment  
Tags: , , , ,

How To display table in GridView: Dynamically filling data in GridView from DataTable in ASP .Net

I had a datatable and i needed to show in a GridView in my ASP .Net page. Following is the code which help me to do so.

//get table to be shown in grid view;
DataTable dataTable = GetRequiredTable();
//assing table to the DataSource property of GridView
myGridView.DataSource=dataTable;
//bind data from a data source to the GridView control
myGridView.DataBind();

Here GetRequiredTable() is a user(example) function which return a table to display in to gridview.
You can also use DataSet in place of DataTable.

Published in: on November 17, 2009 at 10:27 am  Leave a Comment  
Tags: , ,

The CLR has been unable to transition from COM context 0xXXXXXX to COM context 0xXXXXXX for 60 seconds. The thread that owns the destination context/apartment is most likely either doing a non pumping wait or processing a very long running operation without pumping Windows messages

Error Message:

“The CLR has been unable to transition from COM context 0x1979d8 to COM context 0x197868 for 60 seconds. The thread that owns the destination context/apartment is most likely either doing a non pumping wait or processing a very long running operation without pumping Windows messages. This situation generally has a negative performance impact and may even lead to the application becoming non responsive or memory usage accumulating continually over time. To avoid this problem, all single threaded apartment (STA) threads should use pumping wait primitives (such as CoWaitForMultipleHandles) and routinely pump messages during long running operations.”

You get this nasty error message and your life is sucked. This happens when you are debugging your application and using breakpoints.

Fix For The Problem:

Go to menu Debug->Exception-> a form appears. Then in Managed Debug Assistants section, just uncheck the ContextSwitchDeadlock.

Note:

If you are not able to see Exception MenuItem in debug menu, then add it from Tools->Customize->Commands.

A very (extremely) simple ASP .Net Hello World example, Just for fun…

I was going through an ASP.Net book, and thought of writing extremely simply Hello World example. This will give an insight of how simple and small page you can write using ASP .Net.

For each example I have given asp .net code and corresponding browser generated code.

Example1

<%@ Page Language="c#"  %>
<%Response.Write("Hello World");>

Brower Source:

Hello World

Example2:

<%@ Page Language="c#" %>
<script runat="server">
void SayHello()
{
Response.Write("Hello World !");
}
</script>
<html>
<body>
<% SayHello(); %>
</body>
</html>

Brower Source:

<html>
<body>
Hello World !
</body>
</html>

C# Static class and constructor: constructor in static classes in c#

Static classes in C# doesn’t have instance constructor(constructor used to initialized instance of a class) since it can’t be initialized. Static class is initialized only once when they are used first time in application.

So i was wondering how we can initialize a member if really we need. The answer is using static constructors.

Here is the example of how you can use static constructors in your static class:

static class StaticClass
{
static StaticClass()
{
System.Windows.Forms.MessageBox.Show(“I m crated”);
}
public static String Hi()
{
return “hi”;
}
}

Here, messagebox will be shown when first time StaticClass.Hi() method will be called.

Note: static constructors could be used in normal classes also.

C# tips & tricks: Do you want to rethrow exception ?

Many times during development we really don’t want to handle exception every where, rather we like to throw it again. But what is the best way to do it:

catch(Exception ex)
{
throw;
}

OR

catch(Exception ex)
{
throw ex;
}

This article I found in net gives really good insight of it. It suggests to use first method, as it would not truncate previous stack trace information.

C# tips & tricks: String Concatenation, Best practices

When we are struggling with String concatenation issues, specially which is the best way to concatenate the strings. One of my colleague suggested following articles to me.

though this may not be giving every thing you are looking for, but really very nice and worth readable for the .NET developers.

.Net and MySQL: Example of using MySQL and .Net: A simple example of useing Connector/Net 5.2 to connect with MySQL from .Net

Follow this process:

  1. Download Connector/Net 5.2.
  2. Unzip the binaries. You will find 3-4 dlls along with other files.
  3. Add reference to mysql.data.dll, in your project.
  4. You can connect to MySQL throw code, as described below:

String conString = “server=server_name; user id=user_name;

password=password; database=db_name; pooling=false;”;

String queryString = “select * from employee;”;

using (MySqlConnection mySqlConnection = new MySqlConnection(conString))

{

using (MySqlDataAdapter adapter = new MySqlDataAdapter(queryString, mySqlConnection))

{

DataTable dt = new DataTable();

adapter.Fill(dt);

dataGridView1.DataSource = dt;

}

}

Published in: on July 27, 2009 at 8:39 pm  Leave a Comment  
Tags: , , , , , ,