[Mono-winforms-list] Not sure how to do this - help would be appreciated

Jonathan Pobst monkey at jpobst.com
Wed Oct 22 09:54:05 EDT 2008

I don't think there is any "get cell at point" method for TableLayoutPanel.

What you could do is go ahead and fill each cell with a blank label that 
has a click/doubleclick handler.  That way, you don't have to worry 
about translating the click to a cell, as the click would occur on the 
label instead of the table.


Paul wrote:
> Hi,
> I'm developing an application for school and college teachers in the UK
> which allows them to keep track of lessons, timetables, trips and the
> such. Much of the design is done, but I have a problem.
> The simplest method for the timetable itself is a TableLayoutPanel with
> a border to see what lesson on what day is being taught (so it's like a
> grid).
> Using SharpDevelop, if I double click on the grid, it defaults to the
> Paint event for the panel - what I need it to do is to launch a child
> window and then display the results in that cell.
> I'm thinking of saying that if the click was between x, y, x1 and y1
> (the bounding box for the cell), open the window and paste the results
> back in (create a big label or something similar, resize and add).
> This has a drawback in that the timetable has to be flexible enough to
> add extra lessons (not all schools do 5 lessons a day) or breaks and
> lunchs, so the bounds of the cells can't be hard coded, therefore, I
> need to be able to find the cell boundaries. I can't find anything in
> MSDN which says how to do this.
> Second to that is that if I add a label on the fly then need to edit
> that label, will a simple click event work for a label (I'm not sure if
> they have them)?
> Paul
> ------------------------------------------------------------------------
> _______________________________________________
> Mono-winforms-list maillist  -  Mono-winforms-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-winforms-list

More information about the Mono-winforms-list mailing list