Search Results

Search found 3559 results on 143 pages for 'winforms interop'.

Page 80/143 | < Previous Page | 76 77 78 79 80 81 82 83 84 85 86 87  | Next Page >

  • How would I initialize these two lists so that modifying one doesn't modify the other?

    - by Brandon
    I'm aware of why this is happening, but is there any way to do this without having to implement ICloneable or a Copy() method? Preferably .net 2.0, but 3.5 is fine if it is necessary. Essentially I'm trying to implement an undo method. In most cases I can just perform the reverse action in the Undo(), but for others that is not possible. So I want to keep two lists. One for the list of items that I will be modifying, and one for the original, unmodified list of items. This way if I need to do an undo, I just delete the modified items and replace them with the originals. Most of the ways I've tried to assign the _originalItems variable doesn't work, so what would I need to do? public MyClass(List<SelectedItems> selectedItems) { _selectedItems = new List<SelectedItems>(selectedItems); _originalItems = ?? }

    Read the article

  • Get the currently focused textbox in C#

    - by chown
    I have two textboxes, and a button. When I press the button, I want to know where my current caret is (either of the two boxes). I need this to know where to insert a certain text. I tried textbox1.Focused; textbox1.enabled but neither worked. How should I implement this? Thanks

    Read the article

  • How can I receive the "scroll box" type scroll events from a DataGridView?

    - by Simon
    I have a DataGridView, and I'm listening to its Scroll event. This gives me a ScrollEventArgs object whose Type member is supposed to tell me the type of scroll event that has occurred. On the MSDN documentation page it says I should be able to detect movement of the scroll box by listening for events with types ThumbPosition, ThumbTrack, First, Last and EndScroll. However, when I drag the scroll box, I only get events of type LargeDecrement and LargeIncrement. How do I get access to the ThumbPosition, ThumbTrack, First, Last and EndScroll events?

    Read the article

  • passing something from child form to parent

    - by Alan Bennett
    so i have this form and on it is a combo box populated from a database via a SQL method. and i have another form which allows us to maintain the database table etc. so i make a new instance of the second form doing: Form1 frm = new Form2; frm.show(); once i have done what ever i wanted to do on the second form and i close it, i need to somehow trigger an event or something which will refresh the combo box and the code behind it. i was thinking of some onchange or focus event for the whole form, the problem is i have 5 of these combo boxes and running all the SQL again. i also thought of passing somesort of variable thro but then i would still need an event for that. any ideals would be awesome

    Read the article

  • C# Closing a form during a constructor

    - by pm_2
    Is it possible to close a form while the constructor is executing (or simply to stop it showing at this stage)? I have the following code: public partial class MyForm : Form { public MyForm() { if (MyFunc()) { this.Close(); } } } Which errors in Main(), here: static void Main() { ... // Following line errors Application.Run(new MyForm()); } I’ve tried checking the result of MyForm like this: static void Main() { ... MyForm frm = new MyForm(); if (frm != null) { // Following line errors Application.Run(frm); } } But that doesn’t seem to help. Can anyone tell me a way around this, please? Maybe a way to check the form to see if it still exists?

    Read the article

  • ThreadExceptionEventHandler and invoking delegates

    - by QmunkE
    If I assign a ThreadExceptionEventHandler to Application.ThreadException, why when I invoke a delegate method using a control on the main application thread are any exceptions thrown by that delegate not triggering the event handler? i.e. static void Main() { ... Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException); Application.Run(new Form1()); } static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e) { Console.Error.Write("A thread exception occurred!"); } ... private void Form1_Load(object sender, EventArgs e) { Thread syncThread = new Thread(new ThreadStart(this.ThrowException)); syncThread.Start(); } private void ThrowException() { button1.Invoke(new MethodInvoker(delegate { // Not handled by ThreadExceptionEventHandler? throw new Exception(); })); } The context on this is that I have a background thread started from a form which is throwing an unhandled exception which terminates the application. I know this thread is going to be unreliable since it is network connectivity reliant and so subject to being terminated at any point, but I'm just interested as to why this scenario doesn't play out as I expect?

    Read the article

  • How to load mht from stream/string into a WebBrowser control?

    - by Sameh Serag
    The WebBrowser control loads properly any mht file if I use the Navigate method, but when I use the DocumentText or DocumentStream properties, the source of the mht file is displayed as if I opened the file in notepad. If I write the stream to a temp file then Navigate to it, it works properly, but I don't want to do it this way. This issue seems common, but I didn't find a working solution for it. Some people suggest I should fool IE by implementing IPersistMoniker com interface, ...etc. I have tried with this a little bit, but unfortunately I got the same result. May be I have done something wrong. I still feel their should be a more straightforward solution (other than saving in a temp file first), any idea?

    Read the article

  • Where do I control the behavior of the "X" close button in the upper right of a winform?

    - by John at CashCommons
    I'm venturing into making my VB.NET application a little better to use by making some of the forms modeless. I think I've figured out how to use dlg.Show() and dlg.Hide() instead of calling dlg.ShowDialog(). I have an instance of my modeless dialog in my main application form: Public theModelessDialog As New dlgModeless To fire up the modeless dialog I call theModelessDialog.Show() and within the OK and Cancel button handlers in dlgModeless I have Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click Me.DialogResult = System.Windows.Forms.DialogResult.OK Me.Hide() End Sub Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click Me.DialogResult = System.Windows.Forms.DialogResult.Cancel Me.Hide() End Sub and that seems to work fine. The "X" button in the upper right is getting me, though. When I close the form with that button, then try to reopen the form, I get ObjectDisposedException was unhandled. Cannot access a disposed object. I feel like I'm most of the way there but I can't figure out how to do either of the following: Hide that "X" button Catch the event so I don't dispose of the object (just treat it like I hit Cancel) Any ideas? The class of this dialog is System.Windows.Forms.Form. Thanks as always!

    Read the article

  • How do i get the mouse position?

    - by acidzombie24
    Basically in relation to this question It seems like e.X,y and e.Location.X,Y is relative to mousedown? I seen negative values when i havent moved it left/above the parent picbox. So it seems like the values are relative to my mousedown, but i need values relative to the parent because i update the left/top every event and other datat and relative to mousedown is breaking my code.

    Read the article

  • How can I prevent infinite recursion when using events to bind UI elements to fields?

    - by Billy ONeal
    The following seems to be a relatively common pattern (to me, not to the community at large) to bind a string variable to the contents of a TextBox. class MyBackEndClass { public event EventHandler DataChanged; string _Data; public string Data { get { return _Data; } set { _Data = value; //Fire the DataChanged event } } } class SomeForm : // Form stuff { MyBackEndClass mbe; TextBox someTextBox; SomeForm() { someTextBox.TextChanged += HandleTextBox(); mbe.DataChanged += HandleData(); } void HandleTextBox(Object sender, EventArgs e) { mbe.Data = ((TextBox)sender).Text; } void HandleData(Object sender, EventArgs e) { someTextBox.Text = ((MyBackEndClass) sender).Data; } } The problem is that changing the TextBox fires the changes the data value in the backend, which causes the textbox to change, etc. That runs forever. Is there a better design pattern (other than resorting to a nasty boolean flag) that handles this case correctly? EDIT: To be clear, in the real design the backend class is used to synchronize changes between multiple forms. Therefore I can't just use the SomeTextBox.Text property directly. Billy3

    Read the article

  • How can this be done with (N)Hibernate?

    - by Vilx-
    I'm creating a windows forms application with NHibernate. It's an MDI application, so there is no limit to how many forms the user can have open at the same time (probably many). For most forms I want to have an "OK" and a "Cancel" button. Both close the form, but "OK" also saves the modified data to the DB. The forms can be pretty complex, and the modifications are likely to touch a whole graph of objects, adding some, deleting some, and changing some more. It would be good if the changes could be automatically detected and persisted as needed, without the need to manually keep track of each of them. What would be a good way to do this? Extra information: I can make whatever DB schema I want. I'm using MSSQL 2008 and currently have decided for GUID primary keys (with guid.comb generator) and a TIMESTAMP column for optimistic concurrency. I tried to simply set FlushMode of a NHibernate ISession to Never, doing all modifications as needed, and then calling Flush() if the user clicked OK. But that didn't work.

    Read the article

  • How to convert Bitmap to byte[,,] faster?

    - by Miko Kronn
    I wrote function: public static byte[, ,] Bitmap2Byte(Bitmap image) { int h = image.Height; int w = image.Width; byte[, ,] result= new byte[w, h, 3]; for (int i = 0; i < w; i++) { for (int j = 0; j < h; j++) { Color c= image.GetPixel(i, j); result[i, j, 0] = c.R; result[i, j, 1] = c.G; result[i, j, 2] = c.B; } } return result; } But it takes almost 6 seconds to convert 1800x1800 image. Can I do this faster?

    Read the article

  • open a text file only if not opened alread (open in NotePad)

    - by Mr_Green
    In my project, I am trying to open a text file. Well the below code works but when the user click the button again and again, many files are being opened. (which I dont want) System.Diagnostics.Process.Start(filePath); I also tried Link , File.Open and File.OpenText which are not opening the text file and also not showing any error (tried with try catch block) File.Open(filePath); (or) File.OpenText(filePath); (or) FileStream fileStream = new FileStream(filePath, FileMode.Open); I also tried this: (ERROR : Cannot be accessed with instance reference qualify with a type name instead) System.Diagnostics.Process proc = new System.Diagnostics.Process(); proc.Start(filePath); /*red scribbles here*/ proc.WaitForExit(); How to show only one instance of the Text file(.txt). am I doing something wrong in my attempts? please suggest. EDIT: I want to open other text files afterwards but not the same and also the application should be accessible after opening a text file(or many). I have only one form.

    Read the article

  • Printing Images C# Overlapping Wrong

    - by Alen
    I have created a program much like Photoshop in the sense that you can place images (picture box) on a control, move them around, delete them, and so on... I have also managed to put together a method to print all the images on the control with no problems. But here is the weird part: When I click print, the program prints the image which was placed first, on top of the image which came second. On the screen the user can see the image which was placed second, on top of the first placed image (the way it should be) but when I print its opposite? I have no idea why it does this... I hope I've made my self as clear as possible, any help is appreciated! public void printToGraphics(Graphics graphics, Rectangle bounds) { graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit; graphics.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality; graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; Bitmap bitmap = new Bitmap(newLabel.Width, newLabel.Height); newLabel.DrawToBitmap(bitmap, newLabel.DisplayRectangle); Rectangle target = new Rectangle(0, 0, bounds.Width, bounds.Height); target.Height = bitmap.Height; target.Width = bitmap.Width; graphics.PageUnit = GraphicsUnit.Display; graphics.DrawImage(bitmap,target); } void printDoc_PrintPage(object sender, PrintPageEventArgs e) { printToGraphics(e.Graphics, e.MarginBounds); }

    Read the article

  • Crossthread exception and invokerequired solution doesn't change my control value

    - by Pilouk
    EDIT Solution : Here i'm setting my byref value in each object then i'm running a backgroundworker Private Sub TelechargeFichier() Dim DocManquant As Boolean = False Dim docName As String = "" Dim lg As String = "" Dim telechargementFini As Boolean = False lblMessage.Text = EasyDealChangeLanguage.Instance.GetStringFromResourceName("1478") prgBar.Maximum = m_listeFichiers.Count For i As Integer = 0 To m_listeFichiers.Count - 1 m_listeFichiers(i).Set_ByRefLabel(lblMessage) m_listeFichiers(i).Set_ByRefPrgbar(prgBar) m_listeThreads.Add(New Thread(AddressOf m_listeFichiers(i).DownloadMe)) Next m_bgWorker = New BackgroundWorker m_bgWorker.WorkerReportsProgress = True AddHandler m_bgWorker.DoWork, AddressOf DownloadFiles m_bgWorker.RunWorkerAsync() ''Completed 'lblMessage.Text = EasyDealChangeLanguage.Instance.GetStringFromResourceName("1383") 'Me.DialogResult = System.Windows.Forms.DialogResult.OK End Sub Here is my downloadFiles function : Note that each start will do the downloadMe function see below too Private Sub DownloadFiles(sender As Object, e As DoWorkEventArgs) For i As Integer = 0 To m_listeThreads.Count - 1 m_listeThreads(i).Start() Next For i As Integer = 0 To m_listeThreads.Count - 1 m_listeThreads(i).Join() Next End Sub I have multiple thread that each will download a ftp file. I would like that each file that have been completed will set a value to a progress bar and a label from my UI thread. For some reason invokerequired never change to false. Here is my little function that start all the thread Private Sub TelechargeFichier() Dim DocManquant As Boolean = False Dim docName As String = "" Dim lg As String = "" Dim telechargementFini As Boolean = False lblMessage.Text = EasyDealChangeLanguage.Instance.GetStringFromResourceName("1478") prgBar.Maximum = m_listeFichiers.Count For i As Integer = 0 To m_listeFichiers.Count - 1 m_listeFichiers(i).Set_ByRefLabel(lblMessage) m_listeFichiers(i).Set_ByRefPrgbar(prgBar) m_listeThreads.Add(New Thread(AddressOf m_listeFichiers(i).DownloadMe)) Next For i As Integer = 0 To m_listeThreads.Count - 1 m_listeThreads(i).Start() Next For i As Integer = 0 To m_listeThreads.Count - 1 m_listeThreads(i).Join() Next 'Completed lblMessage.Text = EasyDealChangeLanguage.Instance.GetStringFromResourceName("1383") Me.DialogResult = System.Windows.Forms.DialogResult.OK End Sub Here my property that hold the Byref control from the UI thread. This is in my object which content the addressof function that will download the file (DownloadMe) Public Sub Set_ByRefPrgbar(ByRef prgbar As ProgressBar) m_prgBar = prgbar End Sub Public Sub Set_ByRefLabel(ByRef lbl As EasyDeal.Controls.EasyDealLabel3D) m_lblMessage = lbl End Sub Here is the download function : Public Sub DownloadMe() Dim ftpReq As FtpWebRequest Dim ftpResp As FtpWebResponse = Nothing Dim streamInput As Stream Dim fileStreamOutput As FileStream Try ftpReq = CType(WebRequest.Create(EasyDeal.Controls.Common.FTP_CONNECTION & m_downloadFtpPath & m_filename), FtpWebRequest) ftpReq.Credentials = New NetworkCredential(FTP_USER, FTP_PASS) ftpReq.Method = WebRequestMethods.Ftp.DownloadFile ftpResp = ftpReq.GetResponse streamInput = ftpResp.GetResponseStream() fileStreamOutput = New FileStream(m_outputPath, FileMode.Create, FileAccess.ReadWrite) ReadWriteStream(streamInput, fileStreamOutput) Catch ex As Exception 'Au pire la fichier sera pas downloader Finally If ftpResp IsNot Nothing Then ftpResp.Close() End If Dim nomFichier As String = m_displaynameEN If EasyDealChangeLanguage.GetCurrentLanguageTypes = EasyDealChangeLanguage.EnumLanguageType.Francais Then nomFichier = m_displaynameFR End If If m_lblMessage IsNot Nothing Then EasyDealCommon.TH_SetControlText(m_lblMessage, String.Format(EasyDealChangeLanguage.Instance.GetStringFromResourceName("1479"), nomFichier)) End If If m_prgBar IsNot Nothing Then EasyDealCommon.TH_SetPrgValue(m_prgBar, 1) End If End Try End Sub Here is the crossthread invoke solution function : Public Sub TH_SetControlText(ByVal ctl As Control, ByVal text As String) If ctl.InvokeRequired Then ctl.BeginInvoke(New Action(Of Control, String)(AddressOf TH_SetControlText), ctl, text) Else ctl.Text = text End If End Sub Public Sub TH_SetPrgValue(ByVal prg As ProgressBar, ByVal value As Integer) If prg.InvokeRequired Then prg.BeginInvoke(New Action(Of ProgressBar, Integer)(AddressOf TH_SetPrgValue), prg, value) Else prg.Value += value End If End Sub The problem is the invokerequired never get to false it actually goes in to beginInvoke but never end in the Else section to set the value.

    Read the article

  • Wrap a list to add an empty row for UI binding.

    - by TheSean
    I am binding a List to a UI Control. My list does not contain a blank row, but I need to add one to allow the user to select blank. However, I'm using the same list in other parts of the application (users can edit/add/delete items) where it doesn't make sense to show a blank row. My idea is to create a wrapper around the list which adds a blank row just for the UI. The wrapper would hold a reference so that updates to the list (from other parts of the app) would be reflected in UI without any extra work. I have tried a few different ways, but nothing has worked out for me yet. Can anyone solve this problem?

    Read the article

  • Adding the same Panel to multiple TabPages

    - by BDotA
    In my previous question I could add a design time panel to a tab page at run time and my code looks like this and it works Ok. tabControl1.SuspendLayout(); tabControl1.TabPages[0].Controls.Add(panel1); tabControl1.ResumeLayout(); but now I need to do something like this: tabControl1.SuspendLayout(); tabControl1.TabPages[0].Controls.Add(panel1); tabControl1.TabPages[1].Controls.Add(panel1); tabControl1.TabPages[2].Controls.Add(panel1); tabControl1.ResumeLayout(); which just at run-time I can know how many of these Tabpages I will need. but now for testing I am assuming I will have three tabPages the Problem is that the panel only gets added to the Last tabPage, How can I fix this? I want it get added to all of the tab pages Thanks.

    Read the article

  • How to expose a control collection to a property grid at design time

    - by Stefano Delendati
    I have a custom control that with a property that is a collection of custom object. This custom object hava a reference to some component/controls. When at design time I tray to add an item to the collection and select the object, VS tells me that the control is not serializable. This is the code (simplified version - but not to much): public class ViewRefObj { public control view { get; set; } public ViewRefObj() { } } private List<ViewRefObj> _controls=new List<ViewRefObj>(); public List<ViewRefObj> Views { get { return _controls; } }

    Read the article

  • DataGridView error when set DataSource

    - by user264464
    I got an error when run datagridview.DataSource = dataView; dataview is correct. I can see data inside it when I debug program. I got next error "Object reference not set to an instance of an object." Any Ideas? code: this.datagridview = new System.Windows.Forms.DataGridView(); ... DataSet ds = new DataSet(); XmlReaderSettings settings = new XmlReaderSettings(); StringReader stringReader = new StringReader(retString); XmlReader xmlReader = XmlReader.Create(stringReader, settings); ds.ReadXml(xmlReader); DataView dataView = ds.Tables[0].DefaultView; dataView is not null. I am able to view it when debug

    Read the article

  • How to loop through the ChartColorPalette properties and add to list?

    - by John M
    I am using the Microsoft Chart Controls for .NET 3.5 (C#) and have a chart in a winform. My hope is to allow the user to change the color palette based on their preference. How do I iterate through the color properties of the ChartColorPalette and add them to a combobox list? I know it should be something like: for each(something in ChartColorPalette) { combobox.items.add(something.ToString); }

    Read the article

  • How to make c# don't call destructor of a instance

    - by Bình Nguyên
    I have two forms and form1 needs to get data from form2, i use a parameter in form2 constructor to gets form1's instance like this: public form2(Form form1) { this.f = form1; } and in form1: Form form2 = new Form(this); But it seem form1 destruct was called when i closed form1. my question is how can i avoid this problem? EDIT: I have many typing mistakes in my question, i'm so sorry, fixed: I have two forms and form2 needs to get data from form1, i use a parameter in form1 constructor to gets form1's instance like this: private Form f; public form2(Form form1) { this.f = form1; } and in form1: Form form2 = new Form(this); But it seem form1 destruct was called when i closed form2. my question is how can i avoid this problem?

    Read the article

< Previous Page | 76 77 78 79 80 81 82 83 84 85 86 87  | Next Page >