VS 2010 Place Drawing Logic On Form Or Within Object To Be Drawn?
Sep 10, 2010
I am working on a snake game for my portfolio and was wondering where the best place to put the logic for drawing the snake. Should the code reside within the snake object or within the form? Either would work, but I am wondering from a business objects/coding standard perspective where such code belongs.
I have a Custom Groupbox that overrides the OnPaint event to do some custom drawing, backgrounds, etc. The problem I have is that when I use it in an application and want to draw text on the control, it gets drawn first, then immediately afterwards the OnPaint from the control gets called and draws on top of the text. Is there any way to get the text drawn after the control's OnPaint?
So I've created a custom ListView by inheriting it and overriding the OnDrawSubItem(). I can now draw icons in several of the columns. It's pretty nice! My question is, is there anyway to do this for the ListViewGroup? I'd like to place an icon just before the group text.
I'm looking to see if a little more control is possible though. cpustring = string and fontstring = font, both defined earlier in the program.I'm not sure how to clear the drawn text before drawing a new text. I tried with g.clear(color.transparent), but that creates an ugly flickering background for the picturebox (the picturebox is already set to transparent background).I'd also like to be able to fit the text in the picturebox area, max width/height as defined by picturebox, not by fontsize. Font can stretch either way as long as it fills in the picturebox.
I have a hashset (of posdata), pos data containing a boolean and a label containing the hashkey. I need to draw up a condtion where it will check that if a boolean for two or three different records does not equal to false. And if the condition is true i want to set the boolean of the two or three records to false. Here is an attempt,
ElseIf (position.strLabel = "b2" And position.blnAvail <> False) And (position.strLabel = "b1" And position.blnAvail <> False) And (position.strLabel = "e1" And position.blnAvail <> False) Then
I have a variable called Map(19,19) is List Of Point and a Object(x,y).i want whenever my Object move to locations like Map(0,Y) or Map(19,Y) or (Map(X,0) or Map(X,19) it will turn one by one part of my Object to the other side for example when my object at location Map(0,Y) firstly, Object'head immediatetly appear at Map(19,Y) and then one by one part of it moves like that.Here my code: you can start watch from rbGeneral.checked, i already get a current position of my snake by declare 2 variables X and Y, but at If Clause i dont know put anything there to solve my trouble.
Private Sub tmr_tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles tmr.Tick 'Move Snake Select Case currentDirection[code].......
I am getting an error in above line says: objrpt is not declared it may be inaccessible due to its protection level I agree it may be inaccessible if the condition doesn't met - but here if it doesn't met it will take CrystalReport2 know ?
I've come across a very basic problem which I'm sure has a basic answer.Forgive me but I haven't programmed in years and this just a hobby of mine..My problem is that I need a drawn object (say an ellipse) to move to the cursors location when I click. Imagine an adventure quest style game where you view your character in birds eye view, and it moves according to where you click on the map.I can draw the image fine, and move the image around fine - it's more so the formula I'm using which I'm a little stumped on.I have certain requirements though.
1. I need a timer that constantly updates the drawn object's (lets say character from now on) location. Each tick will essentially be the character taking 1 step towards the cursor's location.2. At the end of each tick of the timer, it'll will invalidate the form/control to invoke the paint event, and of course, the objects location will be be updated.It sounded simple enough to create a linear equation based on the objects original location and the location of the cursor when I click.However, that will not give it a fixed speed.If say for example, the gradient (rise/run) between the cursor location and objects location is very steep, the object's y-velocity will be greater than that of the x-velocity
I've decided to learn Visual Basic .Net as this is what some of my colleagues work with, and this will allow me to work with them on projects.I have purchased Microsoft Visual Basic 2010 Step by Step and downloaded the sample files. When I am trying to debug the first sample application (a Windows form), it is telling me that it can't load System.Drawing V4.0.0.0. However, if I create a new Windows Form application (C# or VB.Net) this works fine.
I had a look at the References tab in the project settings and System.Windows.Forms is referenced, but the version referenced is 2.0.0.0. I have removed and re-added this reference and it stays at 2.0.0.0 and I still get the error.Does anybody have any ideas as to what may be going on?
I need some code to draw a resizable, draggable rectangular cursor (or selection box) on a picturebox. I found some excellent code (albeit rather old) that does just that, but on a form rather than a picturebox. I have tried converting the code - basically moving things to the picturebox events (Paint, MouseDown, MouseMove etc). It nearly works but leaves a trail behind it when you move or resize the cursor. In other words, the selection rectangle is not being erased before being drawn in the new position.
Is there some fundamental difference between drawing graphics on a form and drawing on a picturebox that would cause this behaviour? Something like, when you invalidate a form and cause a redraw it erases what you did last? If not, then I just need to dig a bit further and work out how the cursor is being erased from the previous position.
Here's the original code that works fine on a form:
Private DragRect As New RectangleF(20, 20, 100, 80) Private Adornments(7) As RectangleF Private MouseInRect As Boolean = False
I have this code for drawing a path. Dim map As New Bitmap(l1.Size.Width, l1.Size.Height, l1.CreateGraphics) Dim nextPoint As Point Using g As Drawing.Graphics = Graphics.FromImage(map) Dim dPath As New Drawing2D.GraphicsPath For i As Integer = 0 To path.Count - 1 [Code] .....
l1 is a Label. When I call this it draws the path fine, but when I call it again it draws another path but doesn't get rid of the first path. Basically, I only want one path on the Label at a time.
I am drawing lines on a picturebox - not in the paint event. I realise that if I resize the PictureBox the lines won't be redrawn - but the PictureBox is fixed. If I display a MessageBox at the end of my draws the lines do not remain on the screen. This was OK with VB 6.0. Hoe can I stop them being erased?
I'm creating a custom form that is composed of a inner stroke, outer stroke, and rounded rectangular background. When the form is initially drawn its drawn fine without errors but once i re size it, the old form is still drawn and the new form is drawn below it but once i minimize the form and restore it, it goes back to normal (only the new form is being drawn).
Currently I'm working on a retro-pong game using graphics. The problem is, my code keeps drawing new ellipses every time, and doesn't discard the old ones.
Current Private Sub timeEngine_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmeEngine.Tick
I have a button on my form that loads a dialog. I have a logic on here that I want to test, what ever method I try I alway's get 'Object reference not set to an instance of an object'dialog1.vb:
Code:Public mainform As SettingsMainForm If mainform.LogicCheck.Checked Then textbox1.text = true End if
The goal is to check for invalid data (no data/negative numbers/letters where numbers should be), it does produce a message if the data entered is invalid, but I can't figure out why it STILL displays the results. Results should only be displayed if all data is valid.
I have been trying to draw spirals in vb.net. Here's a link to the formula [URL]. here's what I was trying to do. The code below is just drawing points which I was later going to edit to connect from point to point as soon as i got the spiral function working. Function Draw() Dim iImageCenterPointH As Integer = pbOut.Height / 2 Dim iImageCenterPointW As Integer = pbOut.Width / 2 Dim iCircleSpace As Integer = 10 [Code] ..... I am not 100% the output is matching the formula here's what I am getting atm ...
I've done many attempts but still didn't succeed in making a logic for pascal's triangle, I want you guys to get me start this task and I'll code it myself. url....
I have setup an application to parse about 3000 files a day where each contains around 4000-5000 posts in xml format with like 100 fields. It involves a lot of cleanup and parsing but on average it takes around 6 seconds per post. Now I tried threading but because of the way I have everything set up with variables being overwritten etc...I have divided the files into different folders and just created copies of the program to run and access the assigned folder. It is running on a windows 2008 server with 16 G of memory and I am told I need to reprogram to speed up the process and also not use so much memory.
The following code does create a form within a form and does place NotePad inside the child form. You have to manually start NotePad prior to execution (I work on that later) but the code does work¦ My problem is now I want to manipulate the properties of notepad i.e. focus, size, location, etc. but I cannot figure out how to reference notepad and its properties.
I need to make a basic drawing program in VB that can do three things:
"Draw" with a brush of some sort Clear the screen Perform a flood-fill (paintbucket action)
I decided to do the first two tasks first, and got them to work, but the third task completely eludes me. Every way I try seems to pile on exceptions, and every flood-fill algorithm I find seems to require a bitmap, rather than a Graphics() object. Is there any way to accomplish a flood-fill using a Graphics object, or must I restart the project using a bitmap?
I need to draw several line-graphics on a form, then select and drag individual graphics to new locations. Is it possible for example to give each graphic path an identity when drawn, then select any one (via mousedown, whatever) and link it to the dragged mouse co-ordinates until released? MS Visio has exactly this ability - can it be done in .NET?
I am trying to create a tool which executes some oracle procedures and telnet commands. Besides this Job my tool also needs to update a counter in some table in oracle db at regular intervals(10 secs as per current settings). So I used backgroundworker class in VB.NET to implement this back ground job of updating the counter. My problem is I have put logs at every possible exit of the backgroundworker_dowork functions but still this logic stops working after some time --7-8 hours. I am not able to understand when/where/why/how is it stopping? I am saying logic has stopped because it stops incrementing the counter. And am saying it is exiting abruptly because in _RunWorkerCompleted, I have written a log and closed the application but nothing comes in the log and application is not exiting.
Private Sub backlogicthread_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles backlogicthread.DoWork WriteLog("Background worker", "entered") dbbackcontrol = New OracleConnection(odbcBill) Dim dr As OracleDataReader [Code] .....
This little experiment was a test prompted by a previous thread to learn to work in a graphics object, then paint everything later to a picturebox (later, will be looking at building own custom control for the display), and save out the bitmap to a file on the HD.But weird things happen here. Nothing will display in the picturebox, and the saved bitmap is just a black box.The only partial success I had was replacing: e.Graphics.DrawImage(MyBitmap, 0, 0)
with, PictureBox1.image = MyBitmap
inside the paint event handler, but that caused infinite recursion of the paint event. But at least I could see parts of the graphic for a fraction of a second before it was wiped clean, every time I clicked the "Go_cmd" button. But what is weird is that this partial success showed that the graphics object was copying successfully over to the bitmap image (because I could briefly see parts of it in the picturebox, but the saved file would still come out black, even though it was based on the same bitmap!The code is as follows.Above the form1 class
Imports System.Drawing.Imaging The single declaration:
Public MyBitmap As Bitmap The form_load procedure:[ code].....
The code in the version shown above would not even show a brief moment of the graphics in the picturebox, and the saved .bmp file is just a filled black box.
The application uses ADO.NET to invoke sprocs for nearly every database operation. Some of these sprocs also contain a fair amount of domain logic. The data access logic for each domain entity resides in the domain class itself. ie, there is no decoupling between domain logic and data access logic. I'm looking to accomplish the following: