|
What Nick says is correct. There are a lot of new things in 2.0. If your app is complete backwards compat with 1.1 you can check out this link: Targeting a .NET Framework Version[^]
This link is more about 1.1 and 1.0 but the concept is the same.
This posting is provided "AS IS" with no warranties, and confers no rights.
Alex Korchemniy
|
|
|
|
|
Hi all.
This is the first time I'm tackling a remote application so I got a few doubts I wanna get straightened out before I get into it.
The first question that comes to mind is: what is the cost of keeping a registered channel during the client application's life. I mean, is it worth it to register and unregister a tcp channel everytime I call the remote object or is registering a channel when the app starts and closing it only when the user exits the client application a good enough solution?
Thanks
|
|
|
|
|
I bet the cost of registering and unregistering the channel is going to cost you more than the channel itself. In fact its not necessary to explicitly unregister the channel when the app closes. Framework will take care of that for you.
I would worry more about object lifetimes. From what you're saying it sounds like you are doing single call - you shouldn't have any problems.
This posting is provided "AS IS" with no warranties, and confers no rights.
Alex Korchemniy
|
|
|
|
|
Thanks for the input Alex.
Yes, my remote object will be a single call object and wont need to be a client activated object with state info, so I wont have to worry about the objects lifespan.
I'll register a client channel upon the client app's start and keep that one throughout it's whole life.
|
|
|
|
|
Hi...
I have made an notifyIcon and a ContextMenu.... in my app i have some text that change... so i want the ContextMenu to show the text... i can get it to show first... but then after the text has changed it still writes the old text...!
The code look like this...
contextMenuSys.Popup += new System.EventHandler(contextMenuSys_Popup);
private string text = "hej";
private void contextMenuSys_Popup(object sender, System.EventArgs e)
{
contextMenuItem1.Text = text;
}
but then my string change and I want the menuItem to change the text too... but it does not do it in this way...!
Can anyone help me please...?
Thanks...!
QzRz
|
|
|
|
|
I'm not sure if I'm undestanding u correctly.
Are un trying to change the menutext while menu is open? If ur trying to change it so it shows the new text next time it pops up, ur code should work perfectly. Otherwise u might try this:
Try creating a Text Property and using the setter to change the menuitem text:
Public string Text
{
get
{
return this.text;
}
set
{
this.text=value;
contextMenuItem1.Text=value;
}
}
When you have to change the text variable, dont use this.text=newvalue. Use ur property: this.Text=newValue.
|
|
|
|
|
well....
my problem is...
Ive made so before popup the menu should change the text in one of the submenus.... there was no problem in doing that with your code.... but it only does it once... if i have an 'int', and it is '5' one time the menu opens.... then another time it is '10', then i want the menu to show the new value instead of the old!
it shows the old value using my own code, and using yours!
QzRz
|
|
|
|
|
Hi Everyone,
I'm trying to programmatically remove menuitems from within a menu. In the menu's Select Event I do a
<br />
if (myMenu.MenuItems.Count != 0)<br />
{<br />
foreach (MenuItem mi in myMenu.MenuItems)<br />
{<br />
myMenu.MenuItems.Remove(mi);<br />
}<br />
}<br />
However I get an exception thrown saying that the "Object reference is not set to an instance of an object" whenever I have more then two menuitems inside the menu and I try to remove one of them. Could someone lend me a hand to see what I have overlooked ? Thanks in advance...
-Pete
|
|
|
|
|
In general its very very bad to modify the enumeration while looping over it. I emplore you to never ever doing this.
If you must do a pattern like this break it up into two steps: collect all of the data you are going to remove in one loop, remove them in another loop.
ps. Why are you doing the loop? If you want to clear it why not do MenuItemCollection.Clear() ?
|
|
|
|
|
Thanks Tom, your suggestion solved my problem. MenuItemCollection.Clear() was exactly what I was looking for.
|
|
|
|
|
Can anyone provide me with some info obout this errormessage..???
"Visual Studio cannot save or load instances of the type Test because the type doesn't provide any supported way of saving or loading itself."
My problem is.. I have a class with a propety that get/set a collection..
In the designer/propertytab I can set the values to my colection in the collection editor.. -But when I leave the collection editor the code is not generated by the designer????? And I recieve this error message mentioned above..
Thx..
|
|
|
|
|
Hello everybuddy,
Listen! I have a bad bothering problem, I made a big effort to solve but no result yet. My project is going to be late and I have a short time.
It is a TCP/IP multithread socket based application. At some point after event I see the result of some action ok, after some seconds following exception occures in Visual Studio .NET (while in debug mode):
"An unhandled exception of type 'System.Xml.XmlException' occurred in Unknown Module.
Additional information: System error."
When I click "Break" it says:
"There is no source code available for this location"
What is XmlException ??? what the problem can be ???
I'd appreciate any help.
- Den
---
"Art happens when you least expect it."
|
|
|
|
|
Den2Fly wrote:
What is XmlException ???
An exception that occurs during the handling of XML. Does your code use XML anywhere ?
Den2Fly wrote:
"There is no source code available for this location"
That means that where it blew up is within the framework, but you should still be able to use the stack trace to work out where your code called the method that blew up, then look at what you passed in, which is bound to be where the problem lies. I hope.
Christian
I have several lifelong friends that are New Yorkers but I have always gravitated toward the weirdo's. - Richard Stringer
|
|
|
|
|
I had one of these.
Try to set the CLR exception to break into the debugger.
In the Visual Studio .NET when a solution is open open the Debug menu and choose Exceptions.
In the dialog choose the 'Common Language Runtime Exceptions'. Then change the radio button below of the 'When the exception is thrown:' to 'Break into the debugger'.
This way as soon as the exception is thrown you break into the debugger and not in the place it is caught.
P.S. You can restore the exceptions to their default setting by pressing the 'Clear All' button.
Good luck,
Ami
|
|
|
|
|
I am building a Windows Application using C#. Some of my forms have a lot of controls and that graphics and that is causing me a redraw problems. How can I solve this problem?
|
|
|
|
|
|
I have been researching this, but I have not been lucky getting my hand on a good source of information regarding this topic. If you can point me in the right direction will be great.
thx
|
|
|
|
|
You can also try supressing lots of Layout events by using Form.SupressLayout() /Form.ResumeLayout(true) if you have drastic amounts of controls being added and removed at any time.
In general, if you have so many controls in a form that is causing problems with layout you might want to consider a redesign. The best way to speed up code is to throw out cruft.
|
|
|
|
|
I have a DataGrid with more columns than can fit in the client area. As expected a horizontal scroll bar appears automatically. I need to move the horizontal scrollbar all the way to the right programatically. I use:
this.HorizScrollBar.Value = this.HorizScrollBar.Maximum;
"this" refers to the subclassed DataGrid.
It moves the scrollbar all the way to the right indeed. However, it doesn't actually scroll the data grid, it just moves the scrollbar. It appears that the datagrid is not refreshing or something.
A subsequent click on the scrollbar by the user DOES refresh the DataGrid. But I would like to do it programatically.
I have tried this.Refresh() and this.Update(), but these seem to do nothing.
Any thoughts?
Thanks!
Mark
|
|
|
|
|
use this:
public void ScrollH(int newScrollValue)
{
base.GridHScrolled(this,new ScrollEventArgs(ScrollEventType.LargeIncrement,newScrollValue));
}
public void ScrollV(int newScrollValue)
{
base.GridVScrolled(this,new ScrollEventArgs(ScrollEventType.LargeIncrement,newScrollValue));
}
in ur case scrollValue=this.xxxxScrollBar.Maximum.
|
|
|
|
|
I have strings that are have RTF tags in them. I simply want to strip out htose tags. Could I use RichTextBox for this or must I use a regular expression. Please help - I know little about either.
|
|
|
|
|
Just load the RTF strings into a RichTextBox's Rtf property and then access it's Text property. The Text property gives you the plain text without formatting or RTF tags.
mav
|
|
|
|
|
|
I create my chart by the folloing Code:
Excel.ChartObjects charts = (Excel.ChartObjects)objSheet.ChartObjects(Type.Missing);
Excel.ChartObject objChart = charts.Add(100, 150, 400, 250);
Excel.Chart chart = objChart.Chart;
The ChartEvent_select event is defined by the folloing code:
public Excel.ChartEvents_SelectEventHandler Event_Select;
Event_Select = new Microsoft.Office.Interop.Excel.ChartEvents_SelectEventHandler(ChartSelect);
Then I try to add the event to the chart object, but I get no Select event for it. Other
events like chart.Rezise I got.
The VBA documentation says use the keyword WithEvents creating the chart object. But the
the Interop.Excel don't know this keyword.
Now my plan is gone and I need a little help.
Thanks in advance.
|
|
|
|
|
This code runs perfectly on Microsoft Excel 2003. I'm not sure it is backwards compatible.
using Excel=Microsoft.Office.Interop.Excel; //MS Excel Object Library v11.0
...
string objChartName;
Excel.Chart objChart;
...
private void initializeXLEvents()
{
objChartName=objChart.Name
((Excel.Workbook)objChart.Parent).SheetActivate+=new WorkbookEvents_SheetActivateEventHandler(xl_SheetActivate);
}
private void xl_SheetActivate(object sh)
{
Excel.Chart chrt=sh as Excel.Chart;
if (chrt!=null)
{
if (chrt.Name==objChartName)
Console.Writeline("caught");
}
I dont know if my Excel installation is faulty but I have encountered unexpected problems: If I try to run any method/property of any Excel com_object form the eventhandler xl_SheetActivate exlcuding the Sh parameter, Excel freezes and stops responding. Thats why I've created the objChartName string so I dont have to call objChart.Name inside the event handler.
First I tried using System.Runtime.Interop.Marshall.ReferenceEquals(sh,objChart) to figure out if the sending object was infact my chart, but this method failed. I'm not very sure what is going on while the eventhandler is running but as I explained above, something there is a little strange. If anybody has more info on this, please share. Thnaks
|
|
|
|