Well, this shouldn't give you an error if the module is in the same project as the form. The Friend keyword should make the controls available in any piece of code within the assembly. You would only need to change it if the subroutine were in a separate assembly.
The way this code snippet is written, it shouldn't know what label1 is because the parameter to the routine is a generic Form. You would need to pass in a more specific Form1 or frmWhatever for it to know about the exact controls on it.
But in general, I wouldn't modify the designer-generated code. If you edit the form in the designer, it's likely to get confused and possibly change it back to Friend. It is certainly not where someone else (or possibly you later) would think to look if there were an obscure bug involving that code.
I would think about some other way to pass the controls to the subroutine. For example, have the form provide public property procedures to return the key controls. Or pass the form's Controls collection to the routine. Then the routine can loop through the collection to manipulate the controls. Or it can access a control by name like this:
Public Sub SetItems(ByVal ctls As System.Windows.Forms.Control.ControlCollection)
ctls("Label1").Text = "Fred"
End Sub
Rod
RodStephens@vb-helper.com
Author of "Visual Basic 2005 Programmer's Reference"
http://www.vb-helper.com/vb_prog_ref.htm
Sign up for the free
VB Helper Newsletters at
http://www.vb-helper.com/newsletter.html